18

我是 D3 的新手,只是有一个关于用 D3 制作的折线图上的刻度标签的快速问题。我正在使用 d3.svg.axis.scale().tickSize().tickSubdivide() 来生成我的刻度线。

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

谢谢!

4

2 回答 2

24

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

myGraph.yAxis.tickFormat(function (d) { return ''; });
于 2012-10-21T04:03:16.890 回答
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 (尤其是在源文件夹中,在轴组件处),如果您想查看与轴组件和轴刻度格式相关的许多技巧.

另一方面,如果您不希望显示刻度,那么我想您可以创建一个没有刻度的轴组件(我没有尝试过,很难),但是当您有自定义时,我看不出这样做的意义格式化程序,你几乎可以用刻度做任何你想做的事情。

此致!

于 2012-06-07T09:10:57.497 回答