python绘制饼图的如何设置高度宽度_python 用 matplotlib 饼图参数详解 plt.pie()

defax_set_title(s):

ax.set_title(label=f'No.{i+1}\n'+s, #标题的文本内容

loc='right', #标题的位置

family='Arial', #标题文本的字体类型

size=13, #字体大小

)#配置字体,显示中文

mpl.rcParams['font.sans-serif'] = ['SimHei']#配置坐标轴刻度值模式,显示负号

mpl.rcParams['axes.unicode_minus'] =False#定义数据

cnt_pct = [0.35, 0.15, 0.20, 0.30]

cs= ['red', 'orange', 'yellow', 'green']

labs= [f'{e.upper()} 难度水平' for e in 'abcd']

explode= (0.1, 0.1, 0.1, 0.1)#初始化图表区

fig, axes = plt.subplots(nrows=4,

ncols=5,

figsize=(16, 12),

facecolor='cornsilk')

axes=axes.ravel()#选择子区 1

i =0

ax=axes[i]## 绘制饼图

ax.pie(x=cnt_pct, #产生锲形块的数据

)## 设置标题

ax_set_title(s='x')#选择子区 2

i = 1ax=axes[i]## 绘制饼图

ax.pie(x=cnt_pct, #产生锲形块的数据

explode=explode, #锲形块分离距离序列

)## 设置标题

ax_set_title(s='explode')#选择子区 3

i = 2ax=axes[i]## 绘制饼图

ax.pie(x=cnt_pct, #产生锲形块的数据

explode=explode, #锲形块分离距离序列

labels=labs, #锲形块标签列表

)## 设置标题

ax_set_title(s='labels')#选择子区 4

i = 3ax=axes[i]## 绘制饼图

ax.pie(x=cnt_pct, #产生锲形块的数据

explode=explode, #锲形块分离距离序列

labels=labs, #锲形块标签列表

colors=cs, #锲形块的颜色列表

)## 设置标题

ax_set_title(s='colors')## 设置标题

ax_set_title(s='labels')#选择子区 5

i = 4ax=axes[i]## 绘制饼图

ax.pie(x=cnt_pct, #产生锲形块的数据

explode=explode, #锲形块分离距离序列

labels=labs, #锲形块标签列表

colors=cs, #锲形块的颜色列表

autopct='%3.1f%%', #锲形块的数据标注格式 (88.8%)

)## 设置标题

ax_set_title(s='autopct')#选择子区 6

i = 5ax=axes[i]## 绘制饼图

ax.pie(x=cnt_pct, #产生锲形块的数据

explode=explode, #锲形块分离距离序列

labels=labs, #锲形块标签列表

colors=cs, #锲形块的颜色列表

autopct='%3.1f%%', #锲形块的数据标注格式 (88.8%)

pctdistance=0.8, #锲形块数据标注的径向距离

)## 设置标题

ax_set_title(s='pctdistance')#选择子区 7

i = 6ax=axes[i]## 绘制饼图

ax.pie(x=cnt_pct, #产生锲形块的数据

explode=explode, #锲形块分离距离序列

labels=labs, #锲形块标签列表

colors=cs, #锲形块的颜色列表

autopct='%3.1f%%', #锲形块的数据标注格式 (88.8%)

pctdistance=0.8, #锲形块数据标注的径向距离

shadow=True,

)## 设置标题

ax_set_title(s='shadow')#选择子区 8

i = 7ax=axes[i]## 绘制饼图

ax.pie(x=cnt_pct, #产生锲形块的数据

explode=explode, #锲形块分离距离序列

labels=labs, #锲形块标签列表

colors=cs, #锲形块的颜色列表

autopct='%3.1f%%', #锲形块的数据标注格式 (88.8%)

pctdistance=0.8, #锲形块数据标注的径向距离

shadow=True,

labeldistance=1.02, #锲形块标签的径向距离

)## 设置标题

ax_set_title(s='labeldistance')#选择子区 9

i = 8ax=axes[i]## 绘制饼图

ax.pie(x=cnt_pct, #产生锲形块的数据

explode=explode, #锲形块分离距离序列

labels=labs, #锲形块标签列表

colors=cs, #锲形块的颜色列表

autopct='%3.1f%%', #锲形块的数据标注格式 (88.8%)

pctdistance=0.5, #锲形块数据标注的径向距离

shadow=True,

labeldistance=0.9, #锲形块标签的径向距离

startangle=90, #饼图的初始摆放角度

)## 设置标题

ax_set_title(s='startangle')#选择子区 10

i = 9ax=axes[i]## 绘制饼图

ax.pie(x=cnt_pct, #产生锲形块的数据

explode=explode, #锲形块分离距离序列

labels=labs, #锲形块标签列表

colors=cs, #锲形块的颜色列表

autopct='%3.1f%%', #锲形块的数据标注格式 (88.8%)

pctdistance=0.5, #锲形块数据标注的径向距离

shadow=True,

labeldistance=0.9, #锲形块标签的径向距离

startangle=90, #饼图的初始摆放角度

radius=1.2, #饼图半径

)## 设置标题

ax_set_title(s='radius')#选择子区 11

i = 10ax=axes[i]## 绘制饼图

ax.pie(x=cnt_pct, #产生锲形块的数据

explode=explode, #锲形块分离距离序列

labels=labs, #锲形块标签列表

colors=cs, #锲形块的颜色列表

autopct='%3.1f%%', #锲形块的数据标注格式 (88.8%)

pctdistance=0.5, #锲形块数据标注的径向距离

shadow=True,

labeldistance=0.9, #锲形块标签的径向距离

startangle=90, #饼图的初始摆放角度

radius=1.2, #饼图半径

counterclock=False, #是否让饼图按逆时针顺序呈现

)## 设置标题

ax_set_title(s='counterclock')#选择子区 12

i = 11ax=axes[i]## 绘制饼图

ax.pie(x=cnt_pct, #产生锲形块的数据

explode=explode, #锲形块分离距离序列

labels=labs, #锲形块标签列表

colors=cs, #锲形块的颜色列表

autopct='%3.1f%%', #锲形块的数据标注格式 (88.8%)

pctdistance=0.5, #锲形块数据标注的径向距离

shadow=True,

labeldistance=0.9, #锲形块标签的径向距离

startangle=90, #饼图的初始摆放角度

radius=1.2, #饼图半径

counterclock=False, #是否让饼图按逆时针顺序呈现

#锲形块边界属性字典

wedgeprops={'edgecolor': 'silver',}

)## 设置标题

ax_set_title(s='edgecolor')#选择子区 13

i = 12ax=axes[i]## 绘制饼图

ax.pie(x=cnt_pct, #产生锲形块的数据

explode=explode, #锲形块分离距离序列

labels=labs, #锲形块标签列表

colors=cs, #锲形块的颜色列表

autopct='%3.1f%%', #锲形块的数据标注格式 (88.8%)

pctdistance=0.5, #锲形块数据标注的径向距离

shadow=True,

labeldistance=0.9, #锲形块标签的径向距离

startangle=90, #饼图的初始摆放角度

radius=1.2, #饼图半径

counterclock=False, #是否让饼图按逆时针顺序呈现

#锲形块边界属性字典

wedgeprops={'edgecolor': 'silver','linewidth': 3,

}

)## 设置标题

ax_set_title(s='linewidth')#选择子区 14

i = 13ax=axes[i]## 绘制饼图

ax.pie(x=cnt_pct, #产生锲形块的数据

explode=explode, #锲形块分离距离序列

labels=labs, #锲形块标签列表

colors=cs, #锲形块的颜色列表

autopct='%3.1f%%', #锲形块的数据标注格式 (88.8%)

pctdistance=0.5, #锲形块数据标注的径向距离

shadow=True,

labeldistance=0.9, #锲形块标签的径向距离

startangle=90, #饼图的初始摆放角度

radius=1.2, #饼图半径

counterclock=False, #是否让饼图按逆时针顺序呈现

#锲形块边界属性字典

wedgeprops={'edgecolor': 'silver','linewidth': 3,'linestyle': ':'}

)## 设置标题

ax_set_title(s='linestyle')#选择子区 15

i = 14ax=axes[i]## 绘制饼图

ax.pie(x=cnt_pct, #产生锲形块的数据

explode=explode, #锲形块分离距离序列

labels=labs, #锲形块标签列表

colors=cs, #锲形块的颜色列表

autopct='%3.1f%%', #锲形块的数据标注格式 (88.8%)

pctdistance=0.5, #锲形块数据标注的径向距离

shadow=True,

labeldistance=0.9, #锲形块标签的径向距离

startangle=90, #饼图的初始摆放角度

radius=1.2, #饼图半径

counterclock=False, #是否让饼图按逆时针顺序呈现

#锲形块边界属性字典

wedgeprops={'edgecolor': 'silver','linewidth': 3,'linestyle': ':'},#锲形块标签文本和数据标注文本的字体属性

textprops=dict(color='blue') #字体颜色

)## 设置标题

ax_set_title(s='fontcolor')#选择子区 16

i = 15ax=axes[i]## 绘制饼图

ax.pie(x=cnt_pct, #产生锲形块的数据

explode=explode, #锲形块分离距离序列

labels=labs, #锲形块标签列表

colors=cs, #锲形块的颜色列表

autopct='%3.1f%%', #锲形块的数据标注格式 (88.8%)

pctdistance=0.5, #锲形块数据标注的径向距离

shadow=True,

labeldistance=0.9, #锲形块标签的径向距离

startangle=90, #饼图的初始摆放角度

radius=1.2, #饼图半径

counterclock=False, #是否让饼图按逆时针顺序呈现

#锲形块边界属性字典

wedgeprops={'edgecolor': 'silver','linewidth': 1,'linestyle': '-'},#锲形块标签文本和数据标注文本的字体属性

textprops=dict(color='k', #字体颜色

fontsize=14,

)

)## 设置标题

ax_set_title(s='fontsize')#选择子区 17

i = 16ax=axes[i]## 绘制饼图

ax.pie(x=cnt_pct, #产生锲形块的数据

explode=explode, #锲形块分离距离序列

labels=labs, #锲形块标签列表

colors=cs, #锲形块的颜色列表

autopct='%3.1f%%', #锲形块的数据标注格式 (88.8%)

pctdistance=0.5, #锲形块数据标注的径向距离

shadow=True,

labeldistance=0.9, #锲形块标签的径向距离

startangle=90, #饼图的初始摆放角度

radius=1.2, #饼图半径

counterclock=False, #是否让饼图按逆时针顺序呈现

#锲形块边界属性字典

wedgeprops={'edgecolor': 'silver','linewidth': 1,'linestyle': '-'},#锲形块标签文本和数据标注文本的字体属性

textprops=dict(color='k', #字体颜色

fontsize=12,

),

rotatelabels=True #是否旋转锲形块的标签与其角度对应

)## 设置标题

ax_set_title(s='rotatelabels')#选择子区 18

i = 17ax=axes[i]## 设置子区背景色

ax.set_facecolor('cornsilk')#选择子区 19

i = 18ax=axes[i]## 设置子区背景色

ax.set_facecolor('cornsilk')#选择子区 20

i = 19ax=axes[i]## 绘制饼图

ax.pie(x=cnt_pct, #产生锲形块的数据

explode=explode, #锲形块分离距离序列

labels=labs, #锲形块标签列表

colors=cs, #锲形块的颜色列表

autopct='%3.1f%%', #锲形块的数据标注格式 (88.8%)

pctdistance=0.5, #锲形块数据标注的径向距离

shadow=True,

labeldistance=0.9, #锲形块标签的径向距离

startangle=90, #饼图的初始摆放角度

radius=1.2, #饼图半径

counterclock=False, #是否让饼图按逆时针顺序呈现

#锲形块边界属性字典

wedgeprops={'edgecolor': 'silver','linewidth': 1,'linestyle': '-'},#锲形块标签文本和数据标注文本的字体属性

textprops=dict(color='k', #字体颜色

fontsize=12,

),

frame=True, #是否绘制框架

rotatelabels=False #是否旋转锲形块的标签与其角度对应

)## 设置标题

ax_set_title(s='frame')## 设置子区背景色

ax.set_facecolor('cornsilk')#设置整个子区的布局

fig.subplots_adjust(left=0,

bottom=0,

right=0.9,

top=1,

wspace=0.2, #子区间空白区域的宽度的归一化值

hspace=0.3); #子区间空白区域的高度的归一化值

plt.savefig('pie.jpg')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值