python matplotlib饼状图参数及用法解析


Posted in Python onNovember 04, 2019

这篇文章主要介绍了python matplotlib饼状图参数及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

在python的matplotlib画图函数中,饼状图的函数为pie

pie函数参数解读

plt.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, counterclock=True, wedgeprops=None, textprops=None, center=(0, 0), frame=False)

  • x:指定绘图的数据;
  • explode:指定饼图某些部分的突出显示,即呈现爆炸式;
  • labels:为饼图添加标签说明,类似于图例说明;
  • colors:指定饼图的填充色;
  • autopct:自动添加百分比显示,可以采用格式化的方法显示;
  • pctdistance:设置百分比标签与圆心的距离;
  • shadow:是否添加饼图的阴影效果;
  • labeldistance:设置各扇形标签(图例)与圆心的距离;
  • startangle:设置饼图的初始摆放角度;
  • radius:设置饼图的半径大小;
  • counterclock:是否让饼图按逆时针顺序呈现;
  • wedgeprops:设置饼图内外边界的属性,如边界线的粗细、颜色等;
  • textprops:设置饼图中文本的属性,如字体大小、颜色等;
  • center:指定饼图的中心点位置,默认为原点
  • frame:是否要显示饼图背后的图框,如果设置为True的话,需要同时控制图框x轴、y轴的范围和饼图的中心位置;

实例

1.基本的画图函数

import matplotlib.pyplot as plt
#解决中文乱码问题
# 正常显示中文标签
plt.rcParams['font.sans-serif']=['SimHei']
# 用来正常显示负号
plt.rcParams['axes.unicode_minus']=False
#刻度的大小
plt.rcParams['axes.labelsize'] = 16
#线的粗细
plt.rcParams['lines.linewidth'] = 2
#x轴的大小
plt.rcParams['xtick.labelsize'] = 14
#y轴的大小
plt.rcParams['ytick.labelsize'] = 14
#图例大小
plt.rcParams['legend.fontsize'] = 14
#图的大小
plt.rcParams['figure.figsize'] = [12,8]
#=======================================#基本的使用实例
#定义饼的标签,
labels = ['A','B','C','E']
#每个标签所占的比例
x = [15,30,45,10]
#绘制饼图
plt.pie(x,labels=labels)
plt.show()

python matplotlib饼状图参数及用法解析

注:不加其他参数的使用这个函数,不一定是圆形;而且得到的运行结果根据参数的设置会很大,不建议如此操作。

2.绘制正圆形的饼状图

import matplotlib.pyplot as plt
labels = ['A','B','C','D']
x = [15,30,45,10]
#显示百分比
plt.pie(x,labels=labels,autopct='%3.2f%%')
#设置x,y的刻度一样,使其饼图为正圆
plt.axis('equal')
plt.show()

python matplotlib饼状图参数及用法解析

3.绘制饼状图-设置文本标签的属性值

import matplotlib.pyplot as plt
labels = ['A','B','C','D']
x = [15,30,45,10]
#显示百分比
#textprops={'fontsize':18,'color':'k'} 设置为字体大小为18,颜色黑色
plt.pie(x,labels=labels,autopct='%3.2f%%',textprops={'fontsize':18,'color':'k'})
#设置x,y的刻度一样,使其饼图为正圆
plt.axis('equal')

plt.show()

python matplotlib饼状图参数及用法解析

4.饼状图的分离与阴影设置

import matplotlib.pyplot as plt
labels = ['A','B','C','D']
x = [15,30,45,10]
#显示百分比
#饼图分离
explode = (0,0.1,0,0)
#设置阴影效果
plt.pie(x,labels=labels,autopct='%3.2f%%',explode=explode,shadow=True)
#设置x,y的刻度一样,使其饼图为正圆
plt.axis('equal')

plt.show()

python matplotlib饼状图参数及用法解析

5.起始角度

import matplotlib.pyplot as plt

labels = ['A','B','C','D']

x = [15,30,45,10]

#显示百分比
#饼图分离
explode = (0,0.1,0,0)

#设置阴影效果
#startangle,为起始角度,0表示从0开始逆时针旋转,为第一块。
plt.pie(x,labels=labels,autopct='%3.2f%%',explode=explode,shadow=True,startangle=60)

#设置x,y的刻度一样,使其饼图为正圆
plt.axis('equal')

plt.show()

python matplotlib饼状图参数及用法解析

6圆心距离与提示标签并保存到本地

import matplotlib.pyplot as plt

labels = ['A','B','C','D']

x = [15,30,45,10]

#显示百分比
#饼图分离
explode = (0,0.1,0,0)

#设置阴影效果
#startangle,为起始角度,0表示从0开始逆时针旋转,为第一块。
#pctdistance,百分比的文本离圆心的距离为0.5
plt.pie(x,labels=labels,autopct='%3.2f%%',explode=explode,shadow=True,startangle=60,pctdistance=0.8)

#设置x,y的刻度一样,使其饼图为正圆
plt.axis('equal')
plt.legend()
#保存到本地文件夹
plt.savefig('./饼图.png')
plt.show()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中除法使用的注意事项
Aug 21 Python
python Socket之客户端和服务端握手详解
Sep 18 Python
Python用imghdr模块识别图片格式实例解析
Jan 11 Python
python:print格式化输出到文件的实例
May 14 Python
python用pandas数据加载、存储与文件格式的实例
Dec 07 Python
提升Python程序性能的7个习惯
Apr 14 Python
libreoffice python 操作word及excel文档的方法
Jul 04 Python
关于sys.stdout和print的区别详解
Dec 05 Python
python3中sorted函数里cmp参数改变详解
Mar 12 Python
Python 绘制可视化折线图
Jul 22 Python
python自动提取文本中的时间(包含中文日期)
Aug 31 Python
用 Python 定义 Schema 并生成 Parquet 文件详情
Sep 25 Python
python制作朋友圈九宫格图片
Nov 03 #Python
python使用yield压平嵌套字典的超简单方法
Nov 02 #Python
基于python实现从尾到头打印链表
Nov 02 #Python
pandas 空数据处理方法详解
Nov 02 #Python
python pyinstaller打包exe报错的解决方法
Nov 02 #Python
python自动生成model文件过程详解
Nov 02 #Python
python__name__原理及用法详解
Nov 02 #Python
You might like
php提取字符串中网站url地址的方法
2014/12/03 PHP
PHP设计模式之简单投诉页面实例
2016/02/24 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
javascript向后台传送相同属性的参数即数组参数
2014/02/17 Javascript
JS往数组中添加项性能分析
2015/02/25 Javascript
JavaScript实现的背景自动变色代码
2015/10/17 Javascript
js实现瀑布流效果(自动生成新的内容)
2017/03/16 Javascript
微信小程序 实现动态显示和隐藏某个控件
2017/04/27 Javascript
vue使用Axios做ajax请求详解
2017/06/07 Javascript
为什么使用koa2搭建微信第三方公众平台的原因
2018/05/16 Javascript
JS利用prototype给类添加方法操作详解
2019/06/21 Javascript
解决vue单页面修改样式无法覆盖问题
2019/08/05 Javascript
vue自定义指令和动态路由实现权限控制
2020/08/28 Javascript
[06:59]DOTA2-DPC中国联赛3月7日Recap集锦
2021/03/11 DOTA
python中的hashlib和base64加密模块使用实例
2014/09/02 Python
python 爬虫 批量获取代理ip的实例代码
2018/05/22 Python
在linux下实现 python 监控usb设备信号
2019/07/03 Python
django-rest-framework解析请求参数过程详解
2019/07/18 Python
pygame实现五子棋游戏
2019/10/29 Python
如何用python免费看美剧
2020/08/11 Python
Python Opencv图像处理基本操作代码详解
2020/08/31 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
js实现移动端H5页面手指滑动刻度尺功能
2017/11/16 HTML / CSS
利用canvas实现图片压缩的示例代码
2018/07/17 HTML / CSS
掌上明珠Java程序员面试总结
2016/02/23 面试题
师范生实习的个人自我鉴定
2013/10/20 职场文书
农民入党思想汇报
2014/01/03 职场文书
致标枪运动员广播稿
2014/02/06 职场文书
《春雨》教学反思
2014/04/24 职场文书
教师教学评估方案
2014/05/09 职场文书
机械工程及自动化专业求职信
2014/09/03 职场文书
法人授权委托书
2014/09/16 职场文书
再婚婚前财产协议书范本
2014/10/19 职场文书
先进工作者个人总结
2015/02/15 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
MySQL 8.0 之不可见列的基本操作
2021/05/20 MySQL