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中使用OpenCV进行人脸检测的例子
Apr 18 Python
Python字符串处理实例详解
May 18 Python
python如何为创建大量实例节省内存
Mar 20 Python
Python爬虫信息输入及页面的切换方法
May 11 Python
pytorch + visdom 处理简单分类问题的示例
Jun 04 Python
Python之dict(或对象)与json之间的互相转化实例
Jun 05 Python
Python设计模式之桥接模式原理与用法实例分析
Jan 10 Python
python scatter散点图用循环分类法加图例
Mar 19 Python
Python自定义函数计算给定日期是该年第几天的方法示例
May 30 Python
解析python 中/ 和 % 和 //(地板除)
Jun 28 Python
OpenCV图片漫画效果的实现示例
Aug 18 Python
python 如何在 Matplotlib 中绘制垂直线
Apr 02 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
使用sockets:从新闻组中获取文章(一)
2006/10/09 PHP
PHP中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
JavaScript中的集合及效率
2010/01/08 Javascript
js 创建快捷方式的代码(fso)
2010/11/19 Javascript
JQuery 在线引用及测试引用是否成功
2014/06/24 Javascript
nodejs中操作mysql数据库示例
2014/12/20 NodeJs
Node.js 学习笔记之简介、安装及配置
2015/03/03 Javascript
readonly和disabled属性的区别
2015/07/26 Javascript
AngularJS 整理一些优化的小技巧
2016/08/18 Javascript
node.js实现快速截图
2016/08/27 Javascript
webpack入门必知必会
2017/01/16 Javascript
详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
2017/03/08 Javascript
Bootstrap的Carousel配合dropload.js实现移动端滑动切换图片
2017/03/10 Javascript
VsCode与Node.js知识点详解
2019/09/05 Javascript
js前端传json后台接收‘‘被转为quot的问题解决
2020/11/12 Javascript
vue实现树状表格效果
2020/12/29 Vue.js
[04:21]狐狸妈带你到现场 DOTA2 TI中国区预选赛线下赛路线指引
2014/05/22 DOTA
深入了解Python数据类型之列表
2016/06/24 Python
python实现将一个数组逆序输出的方法
2018/06/25 Python
python实现修改固定模式的字符串内容操作示例
2019/12/30 Python
将matplotlib绘图嵌入pyqt的方法示例
2020/01/08 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
2020/08/04 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
雅萌 (YA-MAN) :日本美容家电领域的龙头企业
2017/05/12 全球购物
什么是网络协议
2016/04/07 面试题
寒假实习自荐信
2014/01/26 职场文书
优秀学生获奖感言
2014/02/15 职场文书
三八红旗手先进事迹材料
2014/05/13 职场文书
反对邪教标语
2014/06/30 职场文书
大学生党员批评与自我批评范文
2014/10/14 职场文书
2014年检验科工作总结
2014/11/22 职场文书
教师廉洁自律个人总结
2015/02/10 职场文书
委托收款证明
2015/06/23 职场文书
实验室安全管理制度
2015/08/05 职场文书
你为什么是穷人?可能是这5个缺点造成
2019/07/11 职场文书
详解Vue的列表渲染
2021/11/20 Vue.js