2017-10-16 102 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

相关问题