有时候图例中需要显示百分比,这个效果可以看我上篇博客,嘻~
但是多个图例该如何显示,例:
主要代码
// 使用回调函数
formatter: function(name) {
// var data=[];
var data1 = option.series[0].data;
var data2 = option.series[1].data;
var data = data1.concat(data2);
var total = 0;
var tarValue;
for (var i = 0, l = data.length; i < l; i++) {
total += data[i].value;
if (data[i].name == name) {
tarValue = data[i].value;
}
}
var p = ((tarValue / total) * 200);
return name + " " + " " + p.toFixed(2) + "%";
},
全部代码
option = {
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b}: {c} ({d}%)'
},
legend: [{
orient: 'vertical', //图例垂直显示
x: 'left', //x轴方向在左边显示
itemGap: 2,//每条图例的距离
textStyle: {
color: '#999' //自定义文字字体颜色
},
itemHeight: 12.6,//每条图例的距离
// data: medialist //数据也可以用赋值方式
data: ['直接访问', '邮件营销', '联盟广告', '视频广告', '搜索引擎']
},
{
orient: 'vertical',
x: 'center',
itemGap: 2,
textStyle: {
color: '#999' //图例字体颜色
},
itemHeight: 12.6,
//data: formatslist111,
data: ['访问', '营销', '广告', '视频', '引擎']
}
],
// 使用回调函数
formatter: function(name) {
// var data=[];
var data1 = option.series[0].data;//获取第一个数组
var data2 = option.series[1].data;//获取第二个数组
var data = data1.concat(data2);//要把两个饼图数据合并为一个数组才可以
var total = 0;
var tarValue;
for (var i = 0, l = data.length; i < l; i++) {
total += data[i].value;
if (data[i].name == name) {
tarValue = data[i].value;
}
}
var p = ((tarValue / total) * 200);//两个饼图所以需要*200-看图数量类推
return name + " " + " " + p.toFixed(2) + "%";
},
series: [
{
name: '访问来源',
type: 'pie',
radius: ['0%', '30%'],
center: ['20%', '40%'],
avoidLabelOverlap: false,
label: {
show: false,
position: 'center'
},
emphasis: {
label: {
show: true,
fontSize: '30',
fontWeight: 'bold'
}
},
labelLine: {
show: false
},
data: [
{value: 335, name: '直接访问'},
{value: 310, name: '邮件营销'},
{value: 234, name: '联盟广告'},
{value: 135, name: '视频广告'},
{value: 1548, name: '搜索引擎'}
]
},
{
name: '访问来源',
type: 'pie',
radius: ['10%', '30%'],
center: ['75%', '40%'],
avoidLabelOverlap: false,
label: {
show: false,
position: 'center'
},
emphasis: {
label: {
show: true,
fontSize: '30',
fontWeight: 'bold'
}
},
labelLine: {
show: false
},
data: [
{value: 335, name: '访问'},
{value: 310, name: '营销'},
{value: 234, name: '广告'},
{value: 135, name: '视频'},
{value: 1548, name:'引擎'}
]
}
]
};
下面放效果图
完成!