echarts学习之如何给饼图中间添加文字

 更新时间:2023年03月29日 08:57:27   作者:King_960725  
这篇文章主要介绍了echarts学习之如何给饼图中间添加文字问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

先看要实现的饼图效果图

方法一:使用series

series: [
    {
        type:'pie',
        radius: ['50%', '70%'],
        center: ['50%', '40%'],
        avoidLabelOverlap: false,
        label: {
            normal: {
                show: true,
                position: 'center',
                color:'#4c4a4a',
                formatter: '{total|' + this.total +'}'+ '\n\r' + '{active|共发布活动}',
                rich: {
                    total:{
                        fontSize: 35,
                        fontFamily : "微软雅黑",
                        color:'#454c5c'
                    },
                    active: {
                        fontFamily : "微软雅黑",
                        fontSize: 16,
                        color:'#6c7a89',
                        lineHeight:30,
                    },
                }
            },
            emphasis: {//中间文字显示
                show: true,
            }
        },
        lableLine: {
            normal: {
                show: false
            },
            emphasis: {
                show: true
            },
            tooltip: {
                show: false
            }
        },
        data:this.pieDataList2
    }
]

只要在formatter里这样写就可以啦,rich里面写你需要的样式即可

formatter: '{total|' + this.total +'}'+ '\n\r' + '{active|共发布活动}'

方法二:使用title

title: {
    text:this.total,//主标题文本
    subtext:'共发布活动',//副标题文本
    left:'center',
    top:'32%',
    textStyle:{
    fontSize: 38,
    color:'#454c5c',
    align:'center'
    },
    subtextStyle:{
        fontFamily : "微软雅黑",
        fontSize: 16,
        color:'#6c7a89',
    }
},

title配置如下

var myChart=echarts.init(document.getElementById('main'));
//init初始化接口,返回ECharts实例,其中dom为图表所在节点
   
var option = {
    //标题
    title : {
        show:true,//显示策略,默认值true,可选为:true(显示) | false(隐藏)
        text: '主标题',//主标题文本,'\n'指定换行
        link:'',//主标题文本超链接,默认值true
        target: null,//指定窗口打开主标题超链接,支持'self' | 'blank',不指定等同为'blank'(新窗口)
        subtext: '副标题',//副标题文本,'\n'指定换行
        sublink: '',//副标题文本超链接
        subtarget: null,//指定窗口打开副标题超链接,支持'self' | 'blank',不指定等同为'blank'(新窗口)
        x:'center'//水平安放位置,默认为'left',可选为:'center' | 'left' | 'right' | {number}(x坐标,单位px)
        y: 'top',//垂直安放位置,默认为top,可选为:'top' | 'bottom' | 'center' | {number}(y坐标,单位px)
        textAlign: null,//水平对齐方式,默认根据x设置自动调整,可选为: left' | 'right' | 'center
        backgroundColor: 'rgba(0,0,0,0)',//标题背景颜色,默认'rgba(0,0,0,0)'透明
        borderColor: '#ccc',//标题边框颜色,默认'#ccc'
        borderWidth: 0,//标题边框线宽,单位px,默认为0(无边框)
        padding: 5,//标题内边距,单位px,默认各方向内边距为5,接受数组分别设定上右下左边距
        itemGap: 10,//主副标题纵向间隔,单位px,默认为10
        textStyle: {//主标题文本样式{"fontSize": 18,"fontWeight": "bolder","color": "#333"}
            fontFamily: 'Arial, Verdana, sans...',
            fontSize: 12,
            fontStyle: 'normal',
            fontWeight: 'normal',
        },
        subtextStyle: {//副标题文本样式{"color": "#aaa"}
            fontFamily: 'Arial, Verdana, sans...',
            fontSize: 12,
            fontStyle: 'normal',
            fontWeight: 'normal',
        },
        zlevel: 0,//一级层叠控制。默认0,每一个不同的zlevel将产生一个独立的canvas,相同zlevel的组件或图标将在同一个canvas上渲染。zlevel越高越靠顶层,canvas对象增多会消耗更多的内存和性能,并不建议设置过多的zlevel,大部分情况可以通过二级层叠控制z实现层叠控制。
        z: 6,//二级层叠控制,默认6,同一个canvas(相同zlevel)上z越高约靠顶层。
    },


    //提示框,鼠标悬浮交互时的信息提示
    tooltip : {
        trigger: 'item',
        formatter: "{a} <br/>{b} : {c} ({d}%)"
    },
    //图例,每个图表最多仅有一个图例
    legend: {
        orient: 'vertical',
        left: 'left',
        data: ['第一部分','第二部分','第三部分','第四部分']
    },
    // 系列列表,每个系列通过 type 决定自己的图表类型
    series : [
        {
            name: '访问',
            type: 'pie',
            radius : '62%',
            center: ['50%', '65%'],/
            minAngle:'15',
            data:[
                {name:"第一部分",value:4},
                {name:"第二部分",value:7},
                {name:"第三部分",value:3},
                {name:"第四部分",value:1},
            ],
            itemStyle: {
                normal:{
                    label:{
                        show:true,
                        formatter: "{b} :\n  {c} \n ({d}%)",
                        position:"inner"
                    }
                }
            }
        }
    ],
};
myChart.setOption(option);// 为echarts对象加载数据

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 给moz-firefox下添加IE方法和属性

    给moz-firefox下添加IE方法和属性

    给moz-firefox下添加IE方法和属性...
    2007-04-04
  • JS数组在内存中的效率问题浅析

    JS数组在内存中的效率问题浅析

    用js有很久了,但都没有深究过js的数组形式,下面这篇文章主要给大家介绍了关于JS数组在内存中的效率问题,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-02-02
  • Javascript 区别浏览器 代码

    Javascript 区别浏览器 代码

    用来区别多个浏览器的代码,其实在具体的使用中,一般只要区分ie跟firefox.
    2009-07-07
  • 使用JS代码实现页面添加水印的方法详解

    使用JS代码实现页面添加水印的方法详解

    这篇文章主要介绍了使用80 行 JS 代码实现页面添加水印:文字水印、多行文字水印、图片水印、文字&图片水印,文中通过代码示例给大家介绍的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-05-05
  • JS利用正则表达式实现简单的密码强弱判断实例

    JS利用正则表达式实现简单的密码强弱判断实例

    这篇文章主要给大家介绍了关于JS利用正则表达式实现简单的密码强弱判断的相关资料,实现后的效果非常简单,但也挺实用的,文中给出了详细的示例代码供大家参考学习,需要的朋友们下面来一起看看吧。
    2017-06-06
  • 深入浅析JavaScript中with语句的理解

    深入浅析JavaScript中with语句的理解

    JavaScript 有个 with 关键字, with 语句的原本用意是为逐级的对象访问提供命名空间式的速写方式。这篇文章主要介绍了JavaScript中with语句的相关知识,感兴趣的朋友一起学习吧
    2016-05-05
  • uni-app瀑布流效果实现方法

    uni-app瀑布流效果实现方法

    Uni-app是一个基于Vue.js开发跨平台应用的框架,它可以将代码编译成多个平台下的原生应用,这篇文章主要给大家介绍了关于uni-app瀑布流效果的相关资料,需要的朋友可以参考下
    2023-12-12
  • pnpm install:ERR_PNPM_PEER_DEP_ISSUES Unmet peer dependencies

    pnpm install:ERR_PNPM_PEER_DEP_ISSUES Unmet p

    这篇文章主要为大家介绍了pnpm install:ERR_PNPM_PEER_DEP_ISSUES Unmet peer dependencies报错解决
    2023-06-06
  • JS实现元素上下左右移动效果

    JS实现元素上下左右移动效果

    这篇文章主要为大家详细介绍了JS实现元素上下左右移动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • JavaScript实现自动变换表格边框颜色

    JavaScript实现自动变换表格边框颜色

    用JavaScript控制表格边框不停的变换颜色,记得以前经常看到这种效果,代码也不复杂,直接复制就可用啦! 可自定义颜色,有需要的小伙伴可以参考下。
    2015-05-05

最新评论