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的Template使用指南
Sep 11 Python
200行自定义python异步非阻塞Web框架
Mar 15 Python
浅谈python中的__init__、__new__和__call__方法
Jul 18 Python
python中字符串内置函数的用法总结
Sep 13 Python
Python3.6中Twisted模块安装的问题与解决
Apr 15 Python
Python3内置模块pprint让打印比print更美观详解
Jun 02 Python
pandas数据筛选和csv操作的实现方法
Jul 02 Python
python如何从文件读取数据及解析
Sep 19 Python
Python3查找列表中重复元素的个数的3种方法详解
Feb 13 Python
django处理select下拉表单实例(从model到前端到post到form)
Mar 13 Python
使用pth文件添加Python环境变量方式
May 26 Python
如何用python写个模板引擎
Jan 14 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-redis中文文档介绍
2013/02/07 PHP
PHP 数组和字符串互相转换实现方法
2013/03/26 PHP
Laravel 5框架学习之日期,Mutator 和 Scope
2015/04/08 PHP
php自定义hash函数实例
2015/05/05 PHP
PHPMAILER实现PHP发邮件功能
2018/04/18 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
input 高级限制级用法
2009/03/26 Javascript
百度留言本js 大家可以参考下
2009/10/13 Javascript
JS读取cookies信息(记录用户名)
2012/01/10 Javascript
关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器
2014/02/11 Javascript
倒记时60刷新网页的js代码
2014/02/18 Javascript
javascript中cookie对象用法实例分析
2015/01/30 Javascript
JavaScript常用的弹出广告及背投广告实现方法
2015/02/06 Javascript
Vue.JS入门教程之事件监听
2016/12/01 Javascript
vue实现表格增删改查效果的实例代码
2017/07/18 Javascript
Angular弹出模态框的两种方式
2017/10/19 Javascript
详解ES6中的 Set Map 数据结构学习总结
2018/11/06 Javascript
详解JavaScript对数组操作(添加/删除/截取/排序/倒序)
2019/04/28 Javascript
Python处理XML格式数据的方法详解
2017/03/21 Python
python ChainMap的使用和说明详解
2019/06/11 Python
Python多版本开发环境管理工具介绍
2019/07/03 Python
详解python pandas 分组统计的方法
2019/07/30 Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
2020/06/23 Python
解决PyCharm无法使用lxml库的问题(图解)
2020/12/22 Python
纯css3实现照片墙效果
2014/12/26 HTML / CSS
CSS Grid布局教程之网格单元格布局
2014/12/30 HTML / CSS
BONIA官方网站:国际奢侈品牌和皮革专家
2016/11/27 全球购物
护理学毕业生求职信
2013/11/14 职场文书
高三英语教学反思
2014/01/13 职场文书
硕士生工作推荐信
2014/03/07 职场文书
指导教师评语
2014/04/26 职场文书
大学新闻系自荐书
2014/05/31 职场文书
展览会邀请函
2015/02/02 职场文书
2015年学生会主席工作总结
2015/04/21 职场文书
SqlServer: 如何更改表的文件组?(进而改变存储位置)
2021/04/05 SQL Server
SQL Server数据库的三种创建方法汇总
2023/05/08 MySQL