2017-10-16 106 views
0

我想繪製對稱的多級餅圖。請參閱組織層次例如:HereHighcharts:是否可以繪製沒有數據值的sunburst圖表?

我嘗試以下http://jsfiddle.net/amrutaJgtp/7r8eb5ms/7/

series: [{ 
type: "sunburst", 
data: [{ 
    id: '0.0' 
}, { 
    id: '1.0', 
    parent: '0.0', 
    name: 'Consumer', 
    color: colors[1] 
}, { 
    parent: '1.0', 
    name: 'Furniture', 
    value: 1 
}, { 
    parent: '1.0', 
    name: 'Office Supplies', 
    value: 1 
}, { 
    parent: '1.0', 
    name: 'Technology', 
    value: 1 
}, { 
    id: '2.0', 
    name: 'Corporate', 
    parent: '0.0', 
    color: colors[2] 
}, { 
    parent: '2.0', 
    name: 'Furniture', 
    value: 1 
}, { 
    parent: '2.0', 
    name: 'Office Supplies', 
    value: 1 
}, { 
    parent: '2.0', 
    name: 'Technology', 
    value: 1 
}, { 
    id: '3.0', 
    name: 'Home office', 
    parent: '0.0', 
    color: colors[3] 
}, { 
    parent: '3.0', 
    name: 'Furniture', 
    value: 1 
}, { 
    parent: '3.0', 
    name: 'Office Supplies', 
    value: 1 
}, { 
    parent: '3.0', 
    name: 'Technology', 
    value: 1 
}, { 
    id: '4.0', 
    name: 'Small Business', 
    parent: '0.0', 
    color: colors[4] 
}, { 
    parent: '4.0', 
    name: 'Office Supplies' 
}, { 
    parent: '4.0', 
    name: 'Technology' 
}], 

注意的「小企業」是沒見過的類別。

當我沒有定義任何數據值時,不繪製sunburst圖表。我希望所有類別的尺寸都是對稱的。

有什麼辦法可以用Highcharts sunburst chart實現對稱的多級派?

+0

@ewolden設定值:1不顯示一切對稱。 JS小提琴:http://jsfiddle.net/amrutaJgtp/7r8eb5ms/8/在這裏小企業有比較小的部分,我想這4個部分是對稱的,每個有25%的面積。 請參閱組織層次結構示例,當數據僅包含類別時,我想實現類似的對稱部分。 設置相同的值只是我嘗試過的一種方式。實際上,我想用對稱的部分來繪製森伯斯特,只是簡單地顯示了層次的層次結構,而沒有任何數字措施。 – Ams

+0

@ewolden是的,你的第一個JS JS小提琴在陽光照射下顯示正確的對稱部分。然而,這裏http://jsfiddle.net/7r8eb5ms/11/,「小生意」還是比較小的一個部分。 – Ams

+0

另外我不知道它是如何工作的時候子節點的數量是不同的類別。目前在該示例中,假設所有類別都帶有3個子節點,因此您爲具有2個節點的「小型企業」類別添加了名稱爲空的節點。概括來說,這是否意味着,我需要從所有類別中找到最大數量的子節點,並相應地在需要的地方添加類別節點? – Ams

回答

2

根據需要,有多種選擇。這裏有四個可能的選擇,及其相應的小提琴:

Fiddle 1http://jsfiddle.net/7r8eb5ms/9/

Fiddle 2http://jsfiddle.net/65ysr826/

Fiddle 3http://jsfiddle.net/fpysybhe/

Fiddle 4http://jsfiddle.net/nab8xu33/

的這些3具有每點的添加的參數:

tooltipIncluded: false 

即controlls使用此格式化工具提示:

tooltip: { 
    formatter: function() { 
    if (this.point.tooltipIncluded) { 
     return 'The population of <b>' + this.point.name + '</b> is <b>' + this.point.value + '</b>'; 
    } else { 
     return false; 
    } 
    } 
} 
+0

謝謝@ewolden – Ams

相關問題