d3 V4中的小刻度线,没有使用时间范围的小刻度线的数据

时间:2019-04-02 15:52:34

标签: d3.js

我正在尝试使用2个日期之间的时间范围数据将刻度添加到x轴。我只有2个日期,并且按预期绘制了主要刻度。并且d3希望数据会在V4中产生较小的滴答声。

我正在使用d3 V4和s3.subDivide()在V4中已贬值。有没有类似细分的方法或方法,它可以在不提供数据的情况下绘制较小的刻度线?

我的代码:

let x = d3.scaleTime().rangeRound([0, width]);
let g = svg.append("g")
    .attr("transform", "translate(" + margin.left + "," + margin.top + ")");
x.domain([minDate, maxDate]);
g.append("g")
    .attr("class", "axis x_axis")
    .attr("transform", "translate(0," + height + ")")
    .call(d3.axisBottom(x));

以上代码绘制的可视化效果如下所示。

enter image description here

我想要没有数据的小刻度下面的结果。

enter image description here

1 个答案:

答案 0 :(得分:0)

获得期望结果的一种方法可能是:

j = 100

多格式功能定义如下:

var xAxis = d3
  .axisBottom(x)
  .tickFormat((d, i) => (i % 2 ? multiFormat(d) : "")) // show the tick value in even index numbers for the axis
  .ticks(50); // set an optional number of ticks to display

Working example