急 请问Echart 怎么实现如下图的效果?
现在有个需求是做成上图这样, 查了些资料捣鼓了很久还是只能做到下图这个样子
求SF的echart大神告诉我..那个小圆点和labelline跨过上面两行字怎么能实现??T_T
目前的代码
var scale = 1;
var echartData = [{
value: 30,
name: '56岁及以上'
}, {
value: 8,
name: '46至55岁'
}, {
value: 13,
name: '其他'
}]
var rich = {
top: {
color: "rgb(104,104,104)",
fontSize: 30 * scale,
fontWeight:'bold',
padding: [0, 0, 0, 0],
align: 'center'
},
total: {
color: "rgb(104,104,104)",
fontSize: 80 * scale,
fontWeight: 'bold',
align: 'center'
},
//这个是每一栏的字体
bottom: {
color: "rgb(104,104,104)",
align: 'center',
fontSize: 14 * scale,
padding: [10, 0]
}
}
option = {
title: {
text: '年龄情况',
left: 'center',
bottom: '5%',
textStyle: {
color: 'rgb(57,57,56)'
}
},
legend: { //图例
selectedMode: false,
formatter: function(name) {
var total = 0;
echartData.forEach(function(value, index, array) {
total += value.value;
});
return '{total|' + total + '}';
},
//这里好像必须要设置一下
data: [echartData[1].name],
left: 'center',
top: 'center',
icon: 'none',
align: 'center',
textStyle: {
color: "rgb(104,104,104)",
fontSize: 32 * scale,
rich: rich
},
},
series: [{
type: 'pie',
radius: ['25%', '38%'],
hoverAnimation: false,
color: ['rgb(243,152,0)', 'rgb(0,206,243)', 'rgb(193,109,231)'],
label: {
normal: {
formatter: function(params, ticket, callback) {
return '{top|' + params.value + '人}\n{bottom|' + params.name + '}';
},
rich: rich
},
},
data: echartData
}]
};
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果必须效果完全一样 自己用zrender封装吧
好像实现不了,echarts的饼图的线啊啥的没有自定义的功能