ermutuxia

2020-11-14   阅读量: 1844

如何用matplot画包含几个坐标系的饼形图,并设定图例和标题。

扫码加入数据分析学习群

画各产值比重的饼形图


包含知识点 matplotlib 数据框隐式索引 饼形图 坐标系标题 坐标系图例

国民经济核算数据.xlsx



image.png

#导入相关的库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
#准备数据框
test=pd.read_excel("D:\\国民经济核算数据.xlsx")


#开始画图
#首先准备2行2列,4个坐标系来盛放4个子图,axes是一个由4个坐标系组出的列表对象,下面我们画图的时候可以指定在哪个坐标系中画图
fig,axes=plt.subplots(2,2,figsize=(30,15))
#为第0行第0列坐标系添加饼图
#2000年第一季度各大产业产值的饼图,调取三个数值来画图,三个数值的大小决定扇形的分配情况
axes[0,0].pie(test.iloc[0,[3,4,5]],labels=["第一产业","第二产业",'第三产业'],
        autopct="%.2f%%",textprops={"fontsize":20});
axes[0,0].set_title("2000q1各大产业产值的饼图",fontsize=30) #添加标题
#为第0行第1列坐标系添加饼图
#2017年第一季度各大产业产值的饼图,调取三个数值来画图,三个数值的大小决定扇形的分配情况
axes[0,1].pie(test.iloc[-1,[3,4,5]],labels=["第一产业","第二产业",'第三产业'],
        autopct="%.2f%%",textprops={"fontsize":20});
axes[0,1].set_title("2017q1各大产业产值的饼图",fontsize=30) #添加标题
axes[0,1].legend(loc = 'upper right')  #添加图例
#为第1行第0列坐标系添加饼图
#2000年第一季度各细分产业产值的饼图,调取9个数值来画图,9个数值的大小决定扇形的分配情况
axes[1,0].pie(test.iloc[0,6:],labels=test.columns[6:],
        autopct="%.2f%%",textprops={"fontsize":15});
axes[1,0].set_title("2000q1各细分产业产值的饼图",fontsize=30) #添加标题
#为第1行第1列坐标系添加饼图
#2017年第一季度各细分产业产值的饼图,调取9个数值来画图,9个数值的大小决定扇形的分配情况
axes[1,1].pie(test.iloc[-1,6:],labels=test.columns[6:],
        autopct="%.2f%%",textprops={"fontsize":15});
axes[1,1].set_title("2017q1各细分产业产值的饼图",fontsize=30) #添加标题
#将图形进行保存,保存到硬盘上。
fig.savefig("D:\\mypicture.jpg")

图形结果如下:

image.png

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.0646 3 2 关注作者 收藏

评论(2)

白璐123
2020-11-14

我的天,感谢老师,跟着做,出来了,太开心了,原地打滚。

image.png

0.0000 0 0 回复
白璐123
2020-11-14

真正的干货满满,太棒了

0.0000 0 0 回复

推荐课程