2016-08-22 58 views
0

我有一个Y值(2 - 10000)差异很大的图表。不幸的是,这会导致标尺下端的条仅有几个像素高,因此不可见/不可交互。有什么方法可以为酒吧设置最低高度?我知道在纯粹的d3中,如果需要的话,你可以对域进行一些修改。c3 js条形图 - 设置最小条形高度

回答

0

对数是一种非线性变换,有助于保持较小的值,一些小的和很大的值相对很小。

因此,如果应用对数标度,您应该能够在c3图表中看到3和30000。

但一定要通知用户使用对数刻度,并且可视化500可能看起来是5倍高度的2倍(如果绘制在图表中)。因此您需要自己将数据转换为对数刻度(preprocess),并将其馈送到线性刻度c3.js图表​​(c3中的默认刻度)。

已经很少有用户要求c3开发人员提供插件d3日志,电源和其他规模到c3图表的方式。

https://github.com/c3js/c3/issues/252

不过你可以试试上面的方法(数据预处理,以对数刻度)现在。

实施例: -

LN(5000)= 8.517

LN(500)= 6.214

LN(50)= 3.912

LN(5)= 1.609

正如你可以从上面的例子看到的那样,如果在y轴上使用对数刻度,5000和5都可以在同一个图表中看到。

+0

虽然这会显示条形图,但会转换底层数据,这会使图表不太实用。有没有办法保留数据的实际价值(至少为了标签目的),并且还要以某种方式改变比例尺? –