如何将 d3, javascript 中的刻度值从“1900”更改为 "January"?

How to change the tick value in d3, javascript from "1900" to "January"?

当我尝试使用 d3 中的 scaleTime 创建 y 轴时,我发现应该是第一个月的刻度“January”实际上显示了该特定年份的名称。 我怎样才能让它显示月份名称而不是年份名称?

这是我生成 y 轴的代码。

var yScale = d3.scaleTime().domain([new Date(0, -1, 10), new Date(0, 12)]).range([0, 600]);
var yAxis = d3.axisLeft(yScale).ticks(14);
g.append("g").call(yAxis);

这是屏幕上显示的内容。

使用tickFormat:

const monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];

const yScale = d3.scaleTime().domain([new Date(0, -1, 10), new Date(0, 12)]).range([0, 600]);
const yAxis = d3
  .axisLeft(yScale)
  .ticks(14)
  .tickFormat(d => monthNames[d.getMonth()])
d3.select('svg').append("g")
  .attr('transform', 'translate(100, 20)')
  .call(yAxis);
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
<svg width="200" height="1000"/>