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 冒泡,选择,插入排序使用实例
Feb 05 Python
深入理解python对json的操作总结
Jan 05 Python
Collatz 序列、逗号代码、字符图网格实例
Jun 22 Python
django反向解析URL和URL命名空间的方法
Jun 05 Python
解决Tensorflow使用pip安装后没有model目录的问题
Jun 13 Python
对python中数组的del,remove,pop区别详解
Nov 07 Python
pandas DataFrame 警告(SettingWithCopyWarning)的解决
Jul 23 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
Aug 06 Python
对Python 中矩阵或者数组相减的法则详解
Aug 26 Python
Python中断多重循环的思路总结
Oct 04 Python
Python的PIL库中getpixel方法的使用
Apr 09 Python
Tensorflow tensor 数学运算和逻辑运算方式
Jun 30 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
无刷新动态加载数据 滚动条加载适合评论等页面
2013/10/16 PHP
Yii2实现中国省市区三级联动实例
2017/02/08 PHP
经典的解除许多网站无法复制文字的绝招
2006/12/31 Javascript
2012年开发人员的16款新鲜的jquery插件体验分享
2012/12/28 Javascript
jquery实现的导航固定效果
2014/04/28 Javascript
jQuery实现字符串按指定长度加入特定内容的方法
2015/03/11 Javascript
基于JavaScript创建动态Dom
2015/12/08 Javascript
jQuery异步提交表单的两种方式
2016/09/13 Javascript
JavaScript 是什么意思
2016/09/22 Javascript
JS实现动态增加和删除li标签行的实例代码
2016/10/16 Javascript
移动端点击态处理的三种实现方式
2017/01/12 Javascript
解决bootstrap下拉菜单点击立即隐藏bug的方法
2017/06/13 Javascript
js限制输入框只能输入数字(onkeyup触发)
2018/09/28 Javascript
浅谈vue加载优化策略
2019/03/19 Javascript
layui form.render('select', 'test2') 更新渲染的方法
2019/09/27 Javascript
Vue组件基础用法详解
2020/02/05 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
Vue登录拦截 登录后继续跳转指定页面的操作
2020/08/04 Javascript
python实现将pvr格式转换成pvr.ccz的方法
2015/04/28 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
python numpy 部分排序 寻找最大的前几个数的方法
2018/06/27 Python
python FTP批量下载/删除/上传实例
2019/12/22 Python
Python collections.defaultdict模块用法详解
2020/06/18 Python
python实现快速文件格式批量转换的方法
2020/10/16 Python
Python常用外部指令执行代码实例
2020/11/05 Python
plt.figure()参数使用详解及运行演示
2021/01/08 Python
优衣库英国官网:UNIQLO英国
2016/12/25 全球购物
澳大利亚第一的设计师礼服租赁网站:GlamCorner
2017/08/13 全球购物
Carter’s官方旗舰店:美国受欢迎的婴童服装品牌
2018/01/21 全球购物
adidas瑞典官方网站:购买阿迪达斯鞋子和运动服
2019/12/11 全球购物
EJB发布WEB服务一般步骤
2012/10/31 面试题
带病坚持工作事迹
2014/05/03 职场文书
业务员辞职信范文
2015/03/02 职场文书
2015年出纳年终工作总结
2015/05/14 职场文书
活动费用申请报告
2015/05/15 职场文书
高中语文教材(文学文化常识大全一)
2019/08/13 职场文书