echarts 环形图中间加上文字但是效果怎么修改

<div id="section7" class="p60">
    <div class="container">
        <p class="text-center text-title">CMA核心内容</p>
        <div class="col-md-6 text-center pt60">
            <div id="pie1" style="width: 100%;height:400px;"></div>
        </div>
        <div class="col-md-6 text-center pt60">
            <div id="pie2" style="width: 100%;height:400px;"></div>
        </div>
    </div>
</div>

var myChart1 = echarts.init(document.getElementById('pie1'));
    var myChart2 = echarts.init(document.getElementById('pie2'));

   option1 = {
        tooltip: {
            trigger: 'item',
            formatter: "{a} <br/>{b}: {c} ({d}%)"
        },
        legend: {
            show: false,
            orient: 'vertical',
            x: 'left',
            data: ['20%-成本管理', '20%-绩效管理', '15%-对外财务-报告决策', '15%-内部控制', '30%-规划预算-编制与预测']
        },
        graphic:{
            type:'text',
            left:'center',
            top:'center',
            style:{
                text:'Part1\n   财务规划,绩效和控制\n  Financial Reporting ,\nPlanning,Performance\n and Control',
                textAlign:'center',
                fill:'#000',
                width:30,
                height:30
            }
        },
        series: [
            {
                name:'访问来源',
                type: 'pie',
                radius: ['35%', '65%'],
                itemStyle: {
                    normal:{
                        label:{
                            show:true,
                            textStyle:{color:'#3c4858',fontSize:"18"},
                            formatter:function(val){   //让series 中的文字进行换行
                                return val.name.split("-").join("\n");}
                        },
                        title:{
                          text:'aaaa'
                        },
                        labelLine:{
                            show:true,
                            lineStyle:{color:'#3c4858'}
                        }
                    },
                    emphasis: {
                        shadowBlur: 10,
                        shadowOffsetX: 0,
                        shadowColor: 'rgba(0, 0, 0, 0.5)',
                        textColor:'#000'
                    }
                },
                data: [
                    {value: 20, name: '20%-成本管理'},
                    {value: 20, name: '20%-绩效管理'},
                    {value: 15, name: '15%-对外财务-报告决策'},
                    {value: 15, name: '15%-内部控制'},
                    {value: 30, name: '30%-规划预算-编制与预测'}
                ]
            }
        ],
        color: ['rgb(61,171,232)','rgb(95,193,215)','rgb(146,198,96)','rgb(59,175,134)','rgb(53,128,198)']
    };
    myChart1.setOption(option1);

clipboard.png

现在是这样的
但是我想在环形的中间添加文字
还想改变折线的样式变为下面这样

clipboard.png
请问如何修改

阅读 47.5k
6 个回答

利用labelLine的length和length2以及padding等这些就可以做出来了!
下面的链就是我做出的展示效果。和你的效果基本一致
链接地址如下:
链接描述

新手上路,请多包涵

可以通过该方式设置中间内容
title:{

        text:"17",
        subtext: '总数',            
        left:"50%",
        top:"50%",
    },

仔细阅读文档,graphic可以添加数组,针对每个数组设置不同的样式

graphic:[{
            type:'text',
            left:'center',
            top:'40%',
            style:{
                text:'Part1',
                fill:'#000',
                width:30,
                height:30,
                fontSize:30,
            }
        },{
            type:'text',
            left:'center',
            top:'50%',
            style:{
                text:'财务规划,绩效和控制',
                fill:'#000',
                width:30,
                height:30,
                fontSize:24,
            }
        }],

中间那块,自己用 HTML 写,再调整样式就好。
折线那个没办法。(如果数据是确定的,也可以自己用 SVG 画)

新手上路,请多包涵

中间字体大小不同,应该怎么配置?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题