【发布时间】:2014-12-24 19:23:21
【问题描述】:
我在这里使用 NVD3 显示折线图:http://jsbin.com/xodaxafiti/2/edit?js,output
但似乎 NVD3 会自动隐藏 XAxis 上的一些刻度标签,但只有边缘附近的刻度,即 2-3Oct 和 27-28Oct(第一个和最后一个刻度除外)。我知道这是一个自动缩小,因为当我增加图表的宽度时,刻度开始出现。但是我发现这种减少行为很奇怪,并且 lineChart 没有像 multiBarChart 这样的 reduceXTicks 选项。
我希望自己能够像this 一样控制还原行为:
var chart = nv.models.lineChart()
.useInteractiveGuideline(true)
.margin({left: 80,top: 20,bottom: 120,right: 20});
chart.xAxis.ticks(function() {
return data[0].map(chart.x()).filter(function(d,i) {
i % Math.ceil(data[0].values.length / (availableWidth / 100)) === 0;
})
})
但它没有用。有人知道如何控制吗?
【问题讨论】:
-
使用
.tickValues()而不是.ticks()。 -
我之前尝试过使用
.tickFormat(),但它在上面缺少的tickLabels 之上给了我一个过滤器。此外,使用此技巧时,隐藏标签甚至不会显示在工具提示中。我相信tickValues()会有同样的结果。 -
嗯,我会为 x 轴使用时间刻度——这应该可以让您更好地控制显示的内容。 This question 应该对此有所帮助。
标签: javascript d3.js nvd3.js linechart