甜甜圈图
甜甜圈图也用于显示值与总量的比例。与饼图不同,图表中间的空白可用于提供一些额外的信息。这使得甜甜圈图成为常用的图表类型。
基础甜甜圈图
在 ECharts 中,饼图的半径也可以是一个包含 2 个元素的数组。数组中的每个元素可以是字符串或值。第一个元素表示内半径,第二个元素表示外半径。
从这个角度来看,饼图是内半径等于 0 的甜甜圈图的一个子集。
option = { title: { text: 'A Case of Doughnut Chart', left: 'center', top: 'center' }, series: [ { type: 'pie', data: [ { value: 335, name: 'A' }, { value: 234, name: 'B' }, { value: 1548, name: 'C' } ], radius: ['40%', '70%'] } ] };
示例
如果我们设置一个半径为百分比值的字符串,而另一个半径为一个值,那么在某些分辨率下,内半径将小于外半径。ECharts 将自动选择较小的元素作为内半径。但是,这仍然会导致意外的结果。
在甜甜圈的中间显示高亮扇区的文本
前面的例子给你提供了一种在甜甜圈图中间显示固定文本的方法。下一个例子将向你展示如何显示鼠标高亮显示的扇区的相应文本。一般的想法是将 `label` 固定在图表中间,同时默认隐藏 `label`。
option = { legend: { orient: 'vertical', x: 'left', data: ['A', 'B', 'C', 'D', 'E'] }, series: [ { type: 'pie', radius: ['50%', '70%'], avoidLabelOverlap: false, label: { show: false, position: 'center' }, labelLine: { show: false }, emphasis: { label: { show: true, fontSize: '30', fontWeight: 'bold' } }, data: [ { value: 335, name: 'A' }, { value: 310, name: 'B' }, { value: 234, name: 'C' }, { value: 135, name: 'D' }, { value: 1548, name: 'E' } ] } ] };
示例
在这种情况下,`avoidLabelOverlap` 用于控制 ECharts 是否调整标签的位置以避免重叠。`avoidLabelOverlap` 的默认值为 `true`。我们希望标签固定在中间,因此我们需要将其定义为 `false`。
因此,甜甜圈图的中间将显示高亮显示扇区的 `name`。