echarts饼图使用legend,饼图偏移时,中心文字或图片如何居中显示


前言

最近遇到一个需求是,echarts饼图向左偏一定位置,但是在饼图中间需要镶嵌图片以及接口查出来的一部分数据,在网上搜了一下,发现比较少,在这里记录一下
以下是最终效果图:
在这里插入图片描述


一、echarts进行偏移

首先是对echarts饼图进行向左偏移

series: [
	 { 
	 	name: 'Access From',
	    type: 'pie',
	    radius: ['55%', '70%'],
	    avoidLabelOverlap: false,
	    center: ['35%', '50%'],// 通过center属性设置偏移量
	}
]

二、对echarts中心设置图片和文字展示

1.设置背景图片

通过echarts中的graphic属性设置中心的背景图片

graphic: {
        elements: [{// 环形图中间背景图
            type: 'image',
            style: {
              image: totalRisk,
              width: 130, 
              height: 130, //设置图片的宽高度
            },
            left: "22%",
            top: "center", // 设置图片在X轴,Y轴的位置,这里就需要自己调试了
          }]
        },

2.设置中心文字

在series属性中设置对应的文字

{
            name: '中间文字',
            z: 100,
            type: 'gauge', // 这个type类型要设置为gauge
            radius: '-50%',
            center: ['35%', '50%'],// 需和type: 'pie'中的center一致
            // 配置中间的数字的样式
            detail: {
              // 调节数字位置
              offsetCenter: [-1,12],
              color: '#fff',
              fontSize:'22px'
            },
            pointer: {
              show: false,
            },
            axisTick: {
              show: false,
            },
            axisLine: {
              show: false,
            },
            splitLine: {
              show: false,
            },
            axisLabel: {
              show: false,
            },
            // 中间的字和数字 数据
            data: [
              {
                value: this.totalRiskCount,
                name:'总风险数',
                title:{// 配置“总风险数”的样式
                  show:true,
                  color: '#fff',
                  offsetCenter:[0,'20%']// 配置“总风险数”的位置
                }
              },

            ],
          },

总结

其实通过graphic也可同时设置中间的文字,也可调节文字的位置,但是如果文字是动态的话,就不会一直居中。

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 `faker` 包生成随机的饼图数据,并按数值大小降序排列后进行可视化,并进行相应的配色、标题、图例和标签的更改。具体步骤如下: 1. 安装 `faker` 包,可以使用 `pip install faker` 命令进行安装。 2. 导入 `faker` 包,并创建一个 `Faker` 对象。 ```python from faker import Faker fake = Faker() ``` 3. 生成随机的饼图数据,可以使用 `Faker` 对象的 `pyfloat()` 方法生成一个随机的小数,然后将其乘以 100,得到一个 0~100 的随机整数。 ```python data = [fake.pyfloat(left_digits=2, right_digits=2, positive=True) * 100 for _ in range(5)] labels = ['Label1', 'Label2', 'Label3', 'Label4', 'Label5'] ``` 4. 将数据和标签进行配对,然后按数值大小降序排列。 ```python data_labels = sorted(zip(data, labels), reverse=True) data = [d[0] for d in data_labels] labels = [d[1] for d in data_labels] ``` 5. 使用生成的数据绘制饼图,可以使用 `matplotlib` 包或其他绘图工具进行绘制,并进行相应的配色、标题、图例和标签的更改。 ```python import matplotlib.pyplot as plt colors = ['red', 'orange', 'yellow', 'green', 'blue'] explode = [0.1, 0, 0, 0, 0] plt.pie(data, labels=labels, colors=colors, explode=explode) plt.title('Pie Chart') plt.legend(loc='best') plt.show() ``` 其中,`colors` 参数用于设置饼图的颜色,`explode` 参数用于设置饼图偏移程度,`plt.title()` 方法用于设置饼图的标题,`plt.legend()` 方法用于设置饼图的图例位置。可以根据实际需要进行更改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值