python中内嵌环形饼图的方法

import matplotlib as mpl
import matplotlib.pyplot as plt

设置图片大小

plt.figure(figsize = (20, 8))

生成数据

labels = [‘A’, ‘B’, ‘C’, ‘D’, ‘other’]
share_laptop = [0.45, 0.25, 0.15, 0.05, 0.10]#外环的数据
share_pc = [0.35, 0.35, 0.08, 0.07, 0.15]#内环的数据
colors = [‘c’, ‘r’, ‘y’, ‘g’, ‘gray’]#定义所有数据的颜色,为了对比刚好内环外环的颜色也统一

外环

wedges1, texts1, autotexts1 = plt.pie(share_laptop,
#wedge是饼片(每一个扇形),text是分类标签中的文本列表,autotext是百分比部分的文本列表,这三个属性必须全部出现,否则均会报错
autopct = “%3.1f%%”,
radius = 1,
pctdistance = 0.85,
colors = colors,
startangle = 180,
textprops = {‘color’: ‘w’},
wedgeprops = {“width”: 0.3, ‘edgecolor’: ‘g’}#’'与""没有区别,主要是python2(好像是)留下来的遗留问题,可忽略
#外侧的标签备注信息的边框颜色也跟最外侧的环形边界颜色相同(lebels)
)

内环

wedges2, texts2, autotexts2 = plt.pie(share_pc,
autopct = ‘%3.1f%%’,
radius = 0.7,
pctdistance = 0.95,#饼图中心到auxtotext的距离
#pctdistance 与radius是相互对应的,设置了半径,后面设置了宽度,这样在半径与宽度之间,pctdistance这个属性才有使用的意义
colors = colors,
startangle = 180,
# 起始的第一个属性,倾斜角度
textprops = {‘color’: ‘b’},#text设置的饼图中显示百分比例数字的字体颜色
#textprops = dict(color=‘w’),这两种的作用是一样的,第一种用{}表示字典,第二种用dict声明字典
wedgeprops = {‘width’: 0.4, ‘edgecolor’: ‘b’}#环的宽度,还有环的最外侧的边界颜色
#用中括号表示比用dict表示更加简洁
)

图例

plt.legend(wedges1,
labels,
fontsize = 12,
title=“all”,
loc= ‘upper left’,
bbox_to_anchor = (1, 0.8))#确定图例在轴的相对位置,第一个参数是x,第二个是y

设置文本样式

plt.setp(autotexts1, size=8, weight=‘bold’)
plt.setp(autotexts2, size=8, weight=‘bold’)
plt.setp(texts1, size=100)#setp()对一个列表或者单个对象进行设置

标题

plt.title(‘all data’, fontsize=20)

plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值