Javascript 使用d3对数刻度代替线性刻度
我试着做一个基于的图表,唯一的区别是我想用对数刻度表示x轴 这是我的小提琴: 如您所见,x轴在第4行定义:Javascript 使用d3对数刻度代替线性刻度,javascript,d3.js,hierarchy,bar-chart,Javascript,D3.js,Hierarchy,Bar Chart,我试着做一个基于的图表,唯一的区别是我想用对数刻度表示x轴 这是我的小提琴: 如您所见,x轴在第4行定义: x = d3.scale.linear().range([0, w]), 如果我把它换成 x = d3.scale.log().range([0, w]), 然后它就不工作了(什么也不渲染),抛出以下错误消息: Error: Invalid value for <rect> attribute width="NaN" 到 向我显示z轴(名称),但仍然没有条形图或值。还有
x = d3.scale.linear().range([0, w]),
如果我把它换成
x = d3.scale.log().range([0, w]),
然后它就不工作了(什么也不渲染),抛出以下错误消息:
Error: Invalid value for <rect> attribute width="NaN"
到
向我显示z轴(名称),但仍然没有条形图或值。还有一些其他地方设置了比例域。你也需要更新这些 在中间工作 这里有一些代码,让我可以发布以下内容:
x.domain([1, root.value]).nice();
您的范围包括零-对数(0)未定义。…在尝试将线性轴比例切换为对数时很容易忘记
x.domain([1, root.value]).nice();
x.domain([1, root.value]).nice();