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开发的nosql数据库CodernityDB介绍和使用实例
Oct 23 Python
python实现将内容分行输出
Nov 05 Python
Python打包可执行文件的方法详解
Sep 19 Python
Python 基础之字符串string详解及实例
Apr 01 Python
Python数据结构与算法之图的广度优先与深度优先搜索算法示例
Dec 14 Python
python3解析库lxml的安装与基本使用
Jun 27 Python
解决Python selenium get页面很慢时的问题
Jan 30 Python
python实现大文件分割与合并
Jul 22 Python
python3 Scrapy爬虫框架ip代理配置的方法
Jan 17 Python
Python pip安装模块提示错误解决方案
May 22 Python
Pytorch环境搭建与基本语法
Jun 03 Python
聊聊Python中关于a=[[]]*3的反思
Jun 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
php桌面中心(一) 创建数据库
2007/03/11 PHP
PHP类的使用 实例代码讲解
2009/12/28 PHP
Codeigniter实现多文件上传并创建多个缩略图
2014/06/12 PHP
在Windows XP下安装Apache+MySQL+PHP环境
2015/02/22 PHP
PHP版QQ互联OAuth示例代码分享
2015/07/05 PHP
PHP实现Google plus的好友拖拽分组效果
2016/10/21 PHP
PHP输出多个元素的排列或组合的方法
2017/03/14 PHP
php中请求url的五种方法总结
2017/07/13 PHP
浅谈Laravel中的三种中间件的作用
2019/10/13 PHP
Jquery插件编写简明教程
2014/03/25 Javascript
JavaScript显示当前文档最后修改日期的方法
2015/03/19 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
jquery实现二级导航下拉菜单效果
2015/12/18 Javascript
javascript插件开发的一些感想和心得
2016/02/28 Javascript
微信小程序 绘图之饼图实现
2016/10/24 Javascript
AngularJS基于MVC的复杂操作实例讲解
2017/12/31 Javascript
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
2018/02/07 Javascript
Vue项目中添加锁屏功能实现思路
2018/06/29 Javascript
详解vue2.0 资源文件assets和static的区别
2018/11/27 Javascript
JavaScript原型对象原理与应用分析
2018/12/27 Javascript
Vue路由守卫之路由独享守卫
2019/09/25 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
node后端服务保活的实现
2019/11/10 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
2020/09/08 Javascript
关于JavaScript中异步/等待的用法与理解
2020/11/18 Javascript
python实现冒泡排序算法的两种方法
2018/03/10 Python
pandas将numpy数组写入到csv的实例
2018/07/04 Python
python实现感知器算法(批处理)
2019/01/18 Python
python实现ssh及sftp功能(实例代码)
2020/03/16 Python
django template实现定义临时变量,自定义赋值、自增实例
2020/07/12 Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
2020/08/22 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
2021/02/05 Python
python利用文件时间批量重命名照片和视频
2021/02/09 Python
班班通项目实施方案
2014/02/25 职场文书
大学毕业典礼致辞
2015/07/29 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS