我試圖顯示聽力圖,但我面臨以下困難:聽力圖與Highcharts
- Y軸有以下幾類125,250,500,1000,2000,4000,8000。他們都需要距離彼此相等。換句話說,儘管有這些值,但間隔必須相等。這不是一個真正的問題,因爲我只能使用類別:[......]和數據:[...],它工作得很好。
- 問題是,還有750 1500 3000 6000的值,但它們必須顯示在鄰近點之間距離的2/3處,這違背了數學定律。
這是應該的樣子: Sample
這是我走到這一步, Mine
我試圖顯示聽力圖,但我面臨以下困難:聽力圖與Highcharts
這是應該的樣子: Sample
這是我走到這一步, Mine
我會
這裏舉例:
http://jsfiddle.net/jlbriggs/D2TPh/
labels: {
formatter:function() {
var v = this.value;
if (v == 2.66) return '750';
else if (v == 3.66) return '1.5k';
else if (v == 4.66) return '3k';
else if (v == 5.66) return '6k';
}
}
看起來像你想有一個二進制數Y軸(基數爲2)。我知道Highcharts支持基地10 logarithmic axes,但通過快速搜索沒有找到如何使用基地2
什麼你可以嘗試是:
定義你的Y數據點爲log2(Y),因此它們均勻間隔
使用axis formatter將它們格式化爲在Y軸上顯示爲pow(2,y)以顯示原始值。
謝謝,我會考慮格式化 – k9m
在使用categories
的情況下,您應該實現滴答之間的相同距離。
但你也可以使用tickPostitions或使用tickPositioner
第一部分工作正常,沒有問題。滴答器似乎是要走的路。我想我只需要將字符串值映射到實際的整數位置,就是這樣。我覺得這個職位將提供解決方案,非常感謝 – k9m
沒錯,但代替的,如果的,我寧願用映射: VAR地圖= \t { \t \t「1.5K」:1 \t \t「3K」:2 \t} return map [v]; 很多謝謝 – k9m
其實我現在不太確定,因爲我可以看到它基本上是一個雙軸,但我也有1.5K 3K 6K值。我想我需要結合你和塞巴斯蒂安的解決方案...... – k9m
這兩個軸是相連的。因此,如果您需要繪製1.5值,則只需使用3.66作爲x值,依此類推。 – jlbriggs