2016-08-22 75 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

雖然這會顯示條形圖,但會轉換底層數據,這會使圖表不太實用。有沒有辦法保留數據的實際價值(至少爲了標籤目的),並且還要以某種方式改變比例尺? –