【问题标题】:Use d3 log scale instead of linear scale使用 d3 对数刻度而不是线性刻度
【发布时间】:2013-02-16 07:16:12
【问题描述】:

我正在尝试根据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 轴(名称),但仍然没有条形或值。

【问题讨论】:

    标签: javascript d3.js hierarchy bar-chart


    【解决方案1】:

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

    工作 jsfiddle here.

    这里有一些代码可以让我发布这个:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • ... 只是尝试将线性轴刻度切换为对数时很容易忘记??
      猜你喜欢
      • 2019-05-30
      • 1970-01-01
      • 2016-06-03
      • 1970-01-01
      • 1970-01-01
      • 2012-01-25
      • 1970-01-01
      • 2014-06-03
      • 1970-01-01
      相关资源
      最近更新 更多