温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python如何实现饼图

发布时间:2021-11-25 14:35:00 来源:亿速云 阅读:166 作者:小新 栏目:大数据

小编给大家分享一下Python如何实现饼图,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

1. 普通饼图

普通饼图的绘制效果如下:

Python如何实现饼图

完整代码如下:

# -*- coding:utf-8 -*-
# 申明编码格式为utf-8

import matplotlib as mpl
import matplotlib.pyplot as plt

mpl.rcParams["font.sans-serif"]=["SimHei"]
#指定字体为SimHei,用于显示中文,如果Ariel,中文会乱码
mpl.rcParams["axes.unicode_minus"]=False
#用来正常显示负号
g=["SCI一区","SCI二区","SCI三区","SCI四区","中文核心"]
c=["r","b","g","y","c"]
t=[1237,2134,3456,2345,1245]
#上面定义饼图的各组份项目名称、颜色代码、具体的数值
plt.pie(t,labels=g,autopct="%3.1f%%",startangle=60,colors=c)
#autopct="%3.1f%%" 代表三位数,其中一位是小数位。

plt.title("图8  近三年来发表论文的情况统计")
plt.show()

PS:如有需要Python学习资料的小伙伴可以加下方的群去找免费管理员领取

2. 分列式饼图

只需要在“1. 普通饼图”代码的基础上,将第15行代码中增加explode参数。补充代码如下:

#分列式饼图
explode = (0.1,0.1,0.1,0.1,0.1)
plt.pie(t,explode=explode,labels=g,autopct="%3.1f%%",startangle=60,colors=c)

绘图效果如下:

Python如何实现饼图

如果将explode参数中只设置某一元素的间隔,其他间隔为0,例如:

explode = (0.1,0,0,0,0)

则绘出的效果如下:

Python如何实现饼图

代码如下:

# -*- coding:utf-8 -*-
# 申明编码格式为utf-8

import matplotlib as mpl
import matplotlib.pyplot as plt

mpl.rcParams["font.sans-serif"]=["SimHei"]
#指定字体为SimHei,用于显示中文,如果Ariel,中文会乱码
mpl.rcParams["axes.unicode_minus"]=False
#用来正常显示负号
#数据
elements=["SCI一区","SCI二区","SCI三区","SCI四区","中文核心"]
t1=[1237,2134,3456,2345,1245]
t2=[120,134,456,845,245]
#颜色
outer_colors=["r","b","g","y","c"]
inner_colors=["r","b","g","y","c"]

wedges1,texts1,autotexts1=plt.pie(t1,autopct="%3.1f%%",radius=1,pctdistance=0.85,colors=outer_colors,textprops=dict(color="w"),wedgeprops=dict(width=0.3,edgecolor="w"))
wedges1,texts1,autotexts2=plt.pie(t2,autopct="%3.1f%%",radius=0.7,pctdistance=0.75,colors=inner_colors,textprops=dict(color="w"),wedgeprops=dict(width=0.3,edgecolor="w"))

plt.legend(wedges1,elements,fontsize=12,title='论文级别',loc='center left',bbox_to_anchor=(0.91,0,0.3,1))

plt.setp(autotexts1,size=15)
plt.setp(autotexts2,size=15)
plt.setp(texts1,size=12)
plt.title('本校及合作单位发表论文情况')
plt.show()

看完了这篇文章,相信你对“Python如何实现饼图”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI