在线图上的D3中隐藏刻度线标签

时间:2012-06-06 17:11:34

标签: javascript d3.js

我是D3的新手,只是对使用D3制作的折线图上的刻度标签提出了一个简单的问题。我正在使用d3.svg.axis.scale()。tickSize()。tickSubdivide()生成我的刻度线。

有没有办法隐藏它们或改变它们的价值?例如,我有一个折线图,其中刻度标签是间隔(1,2,3等),我想将它们更改为字符串,如('Jan','Feb','Mar','Apr '等等)。这可能吗?

谢谢!

2 个答案:

答案 0 :(得分:23)

您可以像这样隐藏刻度线格式:

myGraph.yAxis.tickFormat(function (d) { return ''; });

答案 1 :(得分:7)

是的,可以为您的刻度生成不同的格式。您可以在此处找到一些详细信息:https://github.com/mbostock/d3/wiki/SVG-Axes#wiki-tickFormat。遗憾的是,目前并未记录所有格式,因此您可能需要查看该方法的d3代码。如果您同时拥有xAxis和yAxis,则可以执行以下操作:

myGraph.yAxis.tickFormat(d3.format(',.2%'));

另外看看Bob Monteverde的图表库:https://github.com/novus/nvd3(特别是在sources文件夹中,在轴组件处),如果你想看到许多与轴组件和轴刻度格式相关的技巧。

如果另一方面你不想显示刻度线,那么我猜你可以创建一个没有刻度的轴组件(我没试过这个,很难),但我没有看到这样做的重点你有自定义格式化程序,你可以用滴答声做任何你想做的事情。

祝你好运!