var option = {//饼图不需要配置x和y轴 series: [ { type: "pie",//指定图表类型为饼图 data: pieData, // radius:"20%",//百分比是根据盒子的宽高中较小的一部分进行计算 radius: ["35%", "60%"],//前一个是内圆半径,后一个是外圆半径 roseType: "radius",//玫瑰饼图,南丁格尔图 selectedMode: "single",//选中效果,使选中区域偏离圆心一小段距离,single或者multiple selectedOffset: 10,//偏离圆心的一小段距离 }, ] }
复制
1 修改颜色
1.1 提示一个颜色
echarts饼图自定义设置颜色的三种方式_echarts饼图颜色-CSDN博客
1.2 扇形颜色和文字颜色保持一致
label: { color: 'inherit' },
复制
2 echarts饼状图(指示线、提示文字、分区样式)
option={ tooltip: { trigger: 'item', formatter: "{a} <br/>{b}: {c} ({d}%)" }, series: [{ name: '', type: 'pie', radius: ['50%', '70%'], labelLine:{ normal:{ length:15, // 指示线长度 lineStyle: { color: "#595959" // 指示线颜色 } }, }, label: { normal: { textStyle: { color: '#595959', // 提示文字颜色 fontSize: 18 // 提示文字大小 } } }, data: [ // 各分区样式: value值,name模块文字、itemStyle模块样式 {value: 10, name: '理财产品 10%', itemStyle: { color: '#FFBD1C'}}, {value: 20, name: '普通经纪 20%', itemStyle: { color: '#13C2C2'}}, {value: 30, name: '期权 30%', itemStyle: { color: '#267CFF' } }, {value: 40, name: '两融 40%', itemStyle: { color: '#FF8C16' } }, ] }] }
复制
3 修改饼图位置
修改方法
-
属性
series-pie.center -
官方文档
-
代码
复制option = { legend: { orient: "vertical", left: "left", data: ["Apple", "Grapes", "Pineapples", "Oranges", "Bananas"] }, series: [{ type: "pie", data: [{ value: 335, name: "Apple" }, { value: 310, name: "Grapes" }, { value: 234, name: "Pineapples" }, { value: 135, name: "Oranges" }, { value: 1548, name: "Bananas" }], center: ["19%", "50%"] // 这个属性调整图像的位置!!!!! }] }
4 基本总结
1、标题设置
title: { text: '学生生源地来源分布图', subtext: '模拟数据', // x 设置水平安放位置,默认左对齐,可选值:'center' ¦ 'left' ¦ 'right' ¦ {number}(x坐标,单位px) x: 'center', // y 设置垂直安放位置,默认全图顶端,可选值:'top' ¦ 'bottom' ¦ 'center' ¦ {number}(y坐标,单位px) y: 'top', // itemGap设置主副标题纵向间隔,单位px,默认为10, itemGap: 30, backgroundColor: '#EEE', // 主标题文本样式设置 textStyle: { fontSize: 26, fontWeight: 'bolder', color: '#000080' }, // 副标题文本样式设置 subtextStyle: { fontSize: 18, color: '#8B2323' } },
复制
2、图例设置
legend: { // orient 设置布局方式,默认水平布局,可选值:'horizontal'(水平) ¦ 'vertical'(垂直) orient: 'vertical', // x 设置水平安放位置,默认全图居中,可选值:'center' ¦ 'left' ¦ 'right' ¦ {number}(x坐标,单位px) x: 'left', // y 设置垂直安放位置,默认全图顶端,可选值:'top' ¦ 'bottom' ¦ 'center' ¦ {number}(y坐标,单位px) y: 'center', itemWidth: 24, // 设置图例图形的宽 itemHeight: 18, // 设置图例图形的高 textStyle: { color: '#666' // 图例文字颜色 }, // itemGap设置各个item之间的间隔,单位px,默认为10,横向布局时为水平间隔,纵向布局时为纵向间隔 itemGap: 30, backgroundColor: '#eee', // 设置整个图例区域背景颜色 data: ['北京','上海','广州','深圳','郑州'] },
复制
3、值域设置
legend: { // orient 设置布局方式,默认水平布局,可选值:'horizontal'(水平) ¦ 'vertical'(垂直) orient: 'vertical', // x 设置水平安放位置,默认全图居中,可选值:'center' ¦ 'left' ¦ 'right' ¦ {number}(x坐标,单位px) x: 'left', // y 设置垂直安放位置,默认全图顶端,可选值:'top' ¦ 'bottom' ¦ 'center' ¦ {number}(y坐标,单位px) y: 'center', itemWidth: 24, // 设置图例图形的宽 itemHeight: 18, // 设置图例图形的高 textStyle: { color: '#666' // 图例文字颜色 }, // itemGap设置各个item之间的间隔,单位px,默认为10,横向布局时为水平间隔,纵向布局时为纵向间隔 itemGap: 30, backgroundColor: '#eee', // 设置整个图例区域背景颜色 data: ['北京','上海','广州','深圳','郑州'] },
复制
4、提示框设置
legend: { // orient 设置布局方式,默认水平布局,可选值:'horizontal'(水平) ¦ 'vertical'(垂直) orient: 'vertical', // x 设置水平安放位置,默认全图居中,可选值:'center' ¦ 'left' ¦ 'right' ¦ {number}(x坐标,单位px) x: 'left', // y 设置垂直安放位置,默认全图顶端,可选值:'top' ¦ 'bottom' ¦ 'center' ¦ {number}(y坐标,单位px) y: 'center', itemWidth: 24, // 设置图例图形的宽 itemHeight: 18, // 设置图例图形的高 textStyle: { color: '#666' // 图例文字颜色 }, // itemGap设置各个item之间的间隔,单位px,默认为10,横向布局时为水平间隔,纵向布局时为纵向间隔 itemGap: 30, backgroundColor: '#eee', // 设置整个图例区域背景颜色 data: ['北京','上海','广州','深圳','郑州'] },
复制
图中设置
/* 饼状图 */ var chartDomCake = document.getElementById('main-cake'); var myChartCake = echarts.init(chartDomCake); var optionCake; var dataCake=[ { value: 2562, name: '25岁以下',percentage:'15.86%' }, { value: 6000, name: '26-35岁',percentage:'37.15%' }, { value: 2589, name: '36-45岁',percentage:'16.03%' }, { value: 4000, name: '45岁以上',percentage:'24.77%' }, { value: 1000, name: '其他',percentage:'6.19%' } ] optionCake = { title: { text: '', subtext: '', left: 'center' }, tooltip: { trigger: 'item', formatter: "{b} : {c} 人 ({d}%)" //鼠标放上去 展示内容 }, legend: { orient: 'vertical', left: '60%', //图例距离左的距离 top:'18%', // y: 'center', //图例上下居中 itemGap: 20, formatter:function(name){ let target,percentage; for(let i=0;i<dataCake.length;i++){ if(dataCake[i].name===name){ target=dataCake[i].value percentage=dataCake[i].percentage } } let arr=[name+' '," "+target+"人 "," "+percentage] return arr.join(" ") }, }, color: ['#e3935d', '#eecb5f', '#61a5e8', '#e16757', '#9570e4'],//五个数据,五个颜色 series: [ { name: '年龄分布', type: 'pie', radius: '55%', center: ['35%', '35%'], //性设置图的上下左右的位置 data:dataCake, // 设置值域的标签 label: { normal: { position: 'inner', // 设置标签位置,默认在饼状图外 可选值:'outer' ¦ 'inner(饼状图上)' // formatter: '{a} {b} : {c}个 ({d}%)' 设置标签显示内容 ,默认显示{b} // {a}指series.name {b}指series.data的name // {c}指series.data的value {d}%指这一部分占总数的百分比 formatter: '{b}' } }, emphasis: { itemStyle: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } } ] }; optionCake && myChartCake.setOption(optionCake);
复制