【发布时间】:2014-09-23 20:14:52
【问题描述】:
我做了一个直方图/条形图。我以整数形式读取频率数据并像这样设置我的 y 轴:
var yScale = d3.scale.linear().range([300, 0]).domain([0, 2]);
var yAxis = d3.svg.axis().scale(yScale).orient(‘left’)
.tickFormat(d3.format(,.0f));
不幸的是,y 轴重复每个频率多次,如下所示:
如何告诉 d3 停止在 y 轴上重复 y 值?我不想使用.ticks(someNumber),因为我想让刻度数本身保持灵活。
【问题讨论】:
-
天哪,那张照片看起来比我想象的要大。
-
这是因为您将刻度格式设置为仅显示整数;刻度值实际上是不同的。在这种情况下,您必须使用
.tickValues()明确设置刻度值。 -
但我在绘制图表之前使用
parseInt(datum.frequency)解析我的频率数据。频率不应该是整数吗? -
那么刻度不是整数刻度。如果您知道您将只有您在此处发布的特定值,那么您也可以明确指定刻度值。
-
如果你想知道最终生成的刻度,你可以使用类似这个答案的东西,然后也许检查唯一性:stackoverflow.com/questions/23297504/…
标签: d3.js