Skip to content

ChartPie 饼图

用于展示数据的饼图/环形图组件,支持自定义颜色、图例位置、标签显示等配置。

基础用法

基础的环形图用法,图例显示在右侧。

查看代码

饼图(非环形)

通过设置 inner-radius0 来显示实心饼图。

查看代码

图例位置

通过 legend-position 属性可以设置图例的位置,支持 leftrighttopbottom

查看代码

自定义颜色

通过 colors 属性可以自定义饼图的颜色,支持透明度设置。

查看代码

数据项自定义颜色

每个数据项可以单独设置颜色,通过 data 中的 color 属性。

查看代码

隐藏图例

通过 show-legend 属性可以隐藏图例。

查看代码

自定义标签

通过 show-labellabel-positionshow-percentshow-value 等属性可以自定义标签显示。

查看代码

自定义尺寸和半径

通过 heightwidthinner-radiusradius 属性可以自定义图表尺寸和环形图的内外半径。

查看代码

进度环

通过 progress-mode 属性可以启用进度环模式,显示单值进度,中心显示百分比。适合展示完成度、进度等场景。

基础进度环

使用 progress-mode 启用进度环模式,数据只需传入一个值,组件会自动计算百分比并显示在中心。通过 progress-label 可以自定义中心显示的文案,默认为"完成率"。

查看代码

自定义进度环文案

通过 progress-label 属性可以自定义进度环中心显示的文案,文案会显示在百分比上方。

查看代码

自定义进度环颜色

通过 progress-color 可以自定义进度条的渐变色,通过 progress-bg-color 可以自定义未完成部分的颜色。

查看代码

自定义最大值

通过 progress-max 可以设置进度的最大值,用于计算百分比。例如,如果最大值是 200,当前值是 60,则显示 30%。

查看代码

仪表盘模式

通过 gauge-mode 属性可以启用仪表盘模式,显示为半圆形仪表盘,适合展示指标、评分等场景。

基础仪表盘

使用 gauge-mode 启用仪表盘模式,数据只需传入一个值,组件会自动显示为半圆形仪表盘。

查看代码

自定义仪表盘范围

通过 gauge-mingauge-max 可以自定义仪表盘的数值范围。

查看代码

水球模式

通过 liquid-mode 属性可以启用水球模式,显示为水波动画效果,适合展示完成度、进度等场景。

基础水球

使用 liquid-mode 启用水球模式,数据只需传入一个值,组件会自动显示为水球效果。

完成率
65%
查看代码

自定义水球颜色

通过 liquid-colorliquid-bg-color 可以自定义水球的颜色和背景色。

达成率
80%
查看代码

自定义水球半径

通过 liquid-radius 可以控制水球的大小,值为 0-1 之间的比例,相对于容器大小。

完成率
65%
查看代码

玫瑰图

通过 rose-type 属性可以将饼图转换为玫瑰图。玫瑰图有两种模式:

  • 'radius':扇形的半径根据数值大小而变化
  • 'area':扇形的面积根据数值大小而变化

半径玫瑰图

使用 rose-type="radius" 创建半径玫瑰图,扇形的半径大小反映数值大小。

查看代码

面积玫瑰图

使用 rose-type="area" 创建面积玫瑰图,扇形的面积大小反映数值大小。

查看代码

玫瑰图切换

可以通过动态切换 rose-type 来在普通饼图和玫瑰图之间切换。

查看代码

百分比配置

通过 percent-precision 属性可以控制百分比的小数位数,该属性同时影响标签、图例和 tooltip 中的百分比显示。通过 tooltip-show-percent 属性可以控制 tooltip 中是否显示百分比。

百分比精度

通过 percent-precision 可以设置百分比的小数位数,0 表示不显示小数,1 表示显示一位小数,以此类推。

查看代码

Tooltip 百分比显示

通过 tooltip-show-percent 属性可以控制鼠标悬停时 tooltip 中是否显示百分比。

查看代码

图例显示配置

通过 legend-show-valuelegend-show-percent 属性可以控制图例中是否显示数值和百分比。

查看代码

完全自定义配置

通过 options 属性可以完全自定义 ECharts 配置项,传入后将以 options 为准,忽略其他属性。这允许你使用 ECharts 的所有功能。

查看代码

注意:使用 options 时,需要参考 ECharts 饼图配置项文档 来配置所有选项。

API

Props

参数说明类型可选值默认值
data数据数组ChartPieDataItem[][{ name: '数据1', value: 100 }, { name: '数据2', value: 200 }, { name: '数据3', value: 300 }]
colors默认颜色数组string[]['rgba(76, 175, 80, 1)', 'rgba(33, 150, 243, 1)', 'rgba(255, 152, 0, 1)']
showLegend是否显示图例booleantrue
legendPosition图例位置stringleft / right / top / bottomright
height图表高度number | string'400px'
width图表宽度number | string'100%'
innerRadius内半径(0-1之间或百分比字符串,用于控制环形图的内圆大小,0为饼图)number | string'60%'
radius外半径(0-1之间或百分比字符串,用于控制环形图的外圆大小)number | string'80%'
showLabel是否显示标签booleantrue
labelPosition标签位置stringinside / outside / centeroutside
showPercent是否显示百分比booleantrue
showValue是否显示数值booleanfalse
legendShowValue图例是否显示数值booleantrue
legendShowPercent图例是否显示百分比booleantrue
percentPrecision百分比小数位数,控制标签、图例和 tooltip 中百分比的精度number0
tooltipShowPercenttooltip 中是否显示百分比booleantrue
progressMode是否启用进度环模式,启用后显示为单值进度环,中心显示百分比booleanfalse
progressMax进度环的最大值(用于计算百分比)number100
progressColor进度环的渐变色配置,格式为 [起始色, 结束色]string[]['#87CEEB', '#4169E1']
progressBgColor进度环未完成部分的颜色stringrgba(200, 200, 200, 0.2)
progressLabel进度环中心显示的文案(显示在百分比上方)string完成率
gaugeMode是否启用仪表盘模式,启用后显示为半圆形仪表盘booleanfalse
gaugeMin仪表盘的最小值number0
gaugeMax仪表盘的最大值number100
gaugeColor仪表盘的分段颜色配置string[]['#91CC75', '#FAC858', '#EE6666']
liquidMode是否启用水球模式,启用后显示为水波动画效果booleanfalse
liquidColor水球颜色string#3BA3FF
liquidBgColor水球背景色stringrgba(59, 163, 255, 0.1)
liquidRadius水球半径(相对于容器大小的比例,0-1之间)number0.4
roseType玫瑰图类型string | falseradius / area / falsefalse
options完全自定义的 ECharts 配置项,传入后将以 options 为准,忽略其他属性object
注意options 的类型定义请参考 ECharts 饼图配置项文档
undefined

ChartPieDataItem

参数说明类型可选值默认值
name数据项名称string
value数据项值number
color数据项颜色(可选,会覆盖 colors 中的对应颜色)string