是否可以将行图的 x 刻度更改为 sqrt?

Is it possible to change the x scale of a rowchart to sqrt?

我想更改图表的 x 轴的比例,因为有些值接近 0 但其他值超过 100000。我试过这个:

chart.x([d3.scaleSqrt().domain([0, 75000]).clamp(true)])

但它不起作用。

但是,同样的方法也适用于条形图。关于如何解决这个问题有什么建议吗?

编辑:我所说的“它不起作用”的意思是它显示了行图,但 x 轴是默认的,所以轴没有重新缩放。

首先,您有一组额外的括号 - 应该是

chart.x(d3.scaleSqrt().domain([0, 75000]).clamp(true))

既然你不说什么没用,我猜你有一张 "squished" 图表。

这是我第一次尝试时得到的结果:

不同于其他dc.js图表,折线图will not set the range of the X scale是用户传入刻度的时候。

对于其他图表,dc.js 将根据 "effective width" - 图表宽度减去左右页边距来初始化范围。

我们也可以这样做:

chart.x(d3.scaleSqrt()
          .domain([0, 75000])
          .range([0,chart.effectiveWidth()])
          .clamp(true)])

我的例子现在看起来像