echarts 饼图(pie)的封装(各属性的讲解以及使用,自定义图例排列方式)

在这里插入图片描述
设计稿的图例是分两列,并且左对齐排列,解决方法是,legend用一个数组,并且 数组每一项orient 设置为’vertical’(垂直)。
来人啊,上代码:

    // 封装公共饼图
    commonPie(echart, seriesName, pieData) {
      // 基于准备好的dom,初始化echarts实例
      const echarts = require('echarts')
      // 基于准备好的dom,初始化echarts实例
      const myChart = echarts.init(echart)
      // 绘制图表
      myChart.setOption({
        backgroundColor: '', // 背景颜色透明
        title: {
          text: '' // 因为所有图表的标题都是自己定义的,所以这里置空,有需要请自行查阅文档,文档还是要看的喽,不能偷懒哦。
        },
        tooltip: {
          trigger: 'item',
          formatter: '{a} <br/>{b} : {c} ({d}%)'
        },
        // 设置饼图的颜色
        color: ['#F76367', '#17D982', '#FA8D3D', '#8B71F7'],
        legend: [{
          // orient 设置布局方式,默认水平布局,可选值:'horizontal'(水平) ¦ 'vertical'(垂直)
          orient: 'vertical',
          icon: 'roundRect',
          left: '15%',
          bottom: 30,
          itemWidth: 18, // 设置图例图形的宽
          itemHeight: 9, // 设置图例图形的高
          textStyle: {
            color: '#fff', // 图例文字颜色
            padding: [0, 0, 0, 12] // 设置图例icon距离文字的距离
          },
          // itemGap设置各个item之间的间隔,单位px,默认为10,横向布局时为水平间隔,纵向布局时为纵向间隔
          itemGap: 20,
          data: pieData.slice(0, Math.ceil(pieData.length / 2)).map(item => {
            return item.name
          })
        }, {
          // orient 设置布局方式,默认水平布局,可选值:'horizontal'(水平) ¦ 'vertical'(垂直)
          orient: 'vertical',
          icon: 'roundRect', //这里有很多参数可选,按需要自行查阅文档
          right: '15%',
          bottom: 30,
          itemWidth: 18, // 设置图例图形的宽
          itemHeight: 9, // 设置图例图形的高
          textStyle: {
            color: '#fff', // 图例文字颜色
            padding: [0, 0, 0, 12]
          },
          itemGap: 20,
          data: pieData.slice(Math.ceil(pieData.length / 2)).map(item => {
            return item.name
          })
        }],
        series: [
          {
            name: seriesName,
            type: 'pie',
            radius: '55%',// 设置环形饼状图, 第一个参数设置内圈大小,第二个参数设置外圈大小,一个参数表示是实心饼,实惠好吃,加量不加价!!!
            center: ['50%', '35%'],// 设置饼状图位置,第一个参数设置水平位置,第二个参数设置垂直位置
            label: {
              show: false
            },// 隐藏值域的那条指向线
            data: pieData,
            itemStyle: {
              emphasis: {
                shadowBlur: 10,
                shadowOffsetX: 0,
                shadowColor: 'rgba(0, 0, 0, 0.5)'
              } // emphasis用来设置鼠标放到扇形上时的扇形样式、阴影
            }
          }
        ]
      })
      this.resizeEcharts(echart, myChart) 
    },
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自定义echarts饼图图例,可以按照以下步骤进行操作: 1. 在option中添加legend对象,设置图例的相关属性。例如,可以设置图例的布局方式(水平或垂直)、是否添加滚动页码、图例的位置、图例的图标样式、图例的字体样式等。示例代码如下: ``` legend: { orient: "vertical", //图例的布局,水平布局、垂直布局 type: 'scroll', //是否添加滚动页码 data: count, //图例的数据,可以是一个数组或对象 right: 15, //图例距离容器右侧的距离 top: 'middle', //图例距离容器顶部的距离 icon: 'circle', //图例的图标样式 itemWidth: 8, //图例的宽度 itemHeight: 8, //图例的高度 textStyle: { //图例字体样式 color: "#000", //字体颜色 fontSize: 14, //字体大小 fontFamily: "微软雅黑" //字体样式 } } ``` 通过以上步骤,您可以自定义echarts饼图图例,根据需要设置相关属性,使图例符合您的要求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [echarts饼图图例自定义、数值直观显示、标题位置](https://blog.csdn.net/wyl164778/article/details/118999300)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [解决echarts饼图标签重叠的问题](https://download.csdn.net/download/weixin_38554186/13711299)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值