【问题标题】:How to add more ticks to D3 timeline charts如何向 D3 时间线图表添加更多刻度
【发布时间】:2016-07-02 19:27:35
【问题描述】:

我有一个堆叠的时间线图,但我无法在图表中包含更多刻度。

我试过这段代码:

var chart = d3.timeline().showAxisTop().stack().background('#C0C0C0').orient('top')
   .relativeTime()
   //.absoluteTime()
   .tickFormat({
      format: function(d) {
         displayDate.setHours(hours++);
         return formatter(displayDate);
      },
      tickTime: d3.time.hours,
      ticks: 20,
      tickInterval: 1,
      tickSize: 30,
   });
chart.margin({
   left: 120,
   right: 0,
   top: 50,
   bottom: 0
});
chart.labelMargin(25);
var svg = d3.select("#timelineAxisTop").append("svg").attr("width", width)
   .datum(testData).call(chart)
   .selectAll("text").attr("class", "timeLineFont");
// $('.tick timeLineFont').attr("x", 75).attr("y", -12);
$('.tick').find('text').attr('x', 85).attr('y', -12);
};

chart image

【问题讨论】:

    标签: javascript d3.js charts


    【解决方案1】:

    根据您的问题中显示的图像,您的间隔是每个刻度 1 小时,因此更好地更改:

    ticks : 20ticks : (d3.time.hour,1) 通过消除 tickInterval 并且如果您仍然想要更多的刻度然后适当地更改您的刻度可能是 ticks : (d3.time.mintues,45) 例如

    【讨论】:

    • 我按你说的试过了,但还是不行。即使我发送动态数据,比例也会减少到仅显示 (07:00) 的两个值。如何使用固定时间间隔刻度固定 x 轴刻度。 @SiddP
    • 你能不能分享一个小提琴,那么我很容易帮助你
    • 感谢您的回复,但它在我的情况下不起作用。任何帮助或建议将不胜感激。 @Siddp
    猜你喜欢
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多