引用echart的版本不一样,写法也存在差异
<div id="wraper" style="width: 1100px;height: 500px;background-color: black;"></div>
echart3.0写法
var wraperCon = document.getElementById("wraper");
var myChart = echarts.init(wraperCon);
option = {
title: {
text: '',
subtext: '',
left: 'center'
},
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b} : {c} ({d}%)'
},
series: [
{
name: '访问来源',
type: 'pie',
radius: '55%',
center: ['50%', '60%'],
label:{
show:true,
position:'inner',
formatter:'{d}%'
},
data: [
{value: 335, name: '直接访问'},
{value: 310, name: '邮件营销'},
{value: 234, name: '联盟广告'},
{value: 135, name: '视频广告'},
{value: 1548, name: '搜索引擎'}
],
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
};
myChart.setOption(option)
echart2.0写法:
//series中label部分存在写法差异,在echart2.0版本中label是itemStyle的一项属性
series: [
{
name: '访问来源',
type: 'pie',
radius: '55%',
center: ['50%', '60%'],
itemStyle:{
normal:{
label:{
show:true,
position:'inner',
formatter:'{d}%',
distance:0.5,//标识距离中心点的距离
textStyle:{
align:'center',
baseline:'middle',
fontSize:14,
fontWeight:'bolder'
}
},
labelLine:{
show:false
}
}
},
data: [
{value: 335, name: '直接访问'},
{value: 310, name: '邮件营销'},
{value: 234, name: '联盟广告'},
{value: 135, name: '视频广告'},
{value: 1548, name: '搜索引擎'}
]
}
]
这里要特别说明一下tooltip中formatter的{a},{b},{c},{d}都指的的什么?
如下面图例所示:
{a} ===》series中的name的属性值:访问来源,
{b} ===》series中data中的name的属性值:搜索引擎,
{c} ===》series中data中的value的属性值:1548,
{d}% ===》每一项占series中data下的value值之和的比重
还有要想实现百分比在饼图中直接展示的重要代码就是在series中写入一下内容即可:
label:{
show:true,//饼图上的数据是否展示true展示false不展示
position:'inner',//饼图上的数据展示位置inner是展示在内部
formatter:'{d}%'//饼图上展示的数据格式
}