數據過多,且幾個比較小的數據在一塊扎堆
解決方案 在series中的一個對象中 添加屬性 minAngle
源碼1,元數據部分:
#其中的兩個紅色加粗的為數值非常小的,在餅圖中根據數據占比會非常小,用肉眼幾乎看不出來。
let echartData = { inner: [ { value: 300, unit: '件', name: '第一檢查部' }, { value: 100, unit: '件', name: '第二檢查部' }, { value: 10, unit: '件', name: '第三檢查部' }, { value: 160, unit: '件', name: '第四檢查部' }, { value: 1, unit: '件', name: '第五檢查部' } ], outer: [ { value: 100, unit: '件', name: '第一檢查部' }, { value: 300, unit: '件', name: '第二檢查部' }, { value: 400, unit: '件', name: '第三檢查部' }, { value: 400, unit: '件', name: '第四檢查部' }, { value: 3, unit: '件', name: '第五檢查部' } ] }
源碼2:echart中的series部分
series: [
//最外層圓環
{
name: '外環',
type: 'pie',
minAngle: 10, //設置扇形的最小占比
radius: ['50%', '75%'],
center: ["40%", "50%"],
startAngle: '240',
data: echartData.outer,
labelLine: {
normal: {
length: 20,
length2: 140,
lineStyle: {
color: '#e6e6e6'
}
}
},
itemStyle: { // 此配置
normal: {
borderWidth: 2,
borderColor: '#fff',
},
emphasis: {
borderWidth: 0,
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
},
label: {
normal: {
position: 'inner',
formatter: params => {
return (
params.value + '件'
);
},
fontSize: 22,
color: '#000',
// padding: [0, -130, 25, -130],
}
},
},
{
name: '內環',
type: 'pie',
minAngle: 10,
radius: ['25%', '50%'],
center: ["40%", "50%"],
itemStyle: { // 此配置
normal: {
borderWidth: 2,
borderColor: '#fff',
},
emphasis: {
borderWidth: 0,
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
},
label: {
normal: {
position: 'inner',
formatter: params => {
return (
params.value + '件'
);
},
fontSize: 22,
color: '#000',
}
},
labelLine: {
normal: {
show: false
}
},
startAngle: '230',
data: echartData.inner
}
]
設置前
圖中的箭頭為所指向的兩個占比,內環占比和外環占比

設置后

所以說通過
minAngle 屬性 設置度數,就可以直接設置一個最小的占比度數,可以防止扇形過小的問題
