17

我正在尝试根据http://mbostock.github.com/d3/talk/20111116/bar-hierarchy.html制作图表,唯一的区别是我想使用对数刻度来表示 x-轴。

这是我的小提琴:http: //jsfiddle.net/JhDVC/5/

如您所见,x 轴在第 4 行定义:

x = d3.scale.linear().range([0, w]),

如果我改变它

x = d3.scale.log().range([0, w]),

然后它不起作用(没有渲染),抛出这些错误消息:

Error: Invalid value for <rect> attribute width="NaN" 

从更改域设置

x.domain([0, root.value]).nice();

x.domain([1, root.value]).nice();

向我显示 z 轴(名称),但仍然没有条形或值。

4

2 回答 2

11

还有一些其他地方设置了规模的域。您还需要更新这些。

在这里工作 jsfiddle 。

这是一些代码,以便我可以发布此代码:

x.domain([1, root.value]).nice();
于 2013-03-01T18:09:40.283 回答
7

您的范围包括零 - log(0) 未定义。

于 2017-02-15T23:24:07.150 回答