我有一个Y值差异很大的图表(2 - 10000)。不幸的是,这导致标尺下端的条仅为几个像素高,因此不可见/不可相互作用。有什么方法可以设置酒吧的最小高度吗?我知道在纯d3中,如果需要,你可以稍微捏一下这个域。
答案 0 :(得分:0)
对数是一种非线性变换,有助于将小值和小值保持在相对非常小的范围内。
因此,如果以某种方式应用对数比例,您应该能够在c3图表中看到3和30000。
但请确保告知用户使用了对数刻度,并且在视觉上500可能看起来高度为2的2倍(如果在图表中绘制)。
c3.js不支持通过配置进行对数比例,因此您需要自己将数据转换为对数比例(预处理)并将其提供给线性比例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。