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 相关文章推荐
利用QT写一个极简单的图形化Python闹钟程序
Apr 07 Python
Python随机生成信用卡卡号的实现方法
May 14 Python
详解Django中的ifequal和ifnotequal标签使用
Jul 16 Python
python2 与 python3 实现共存的方法
Jul 12 Python
Python实现基于POS算法的区块链
Aug 07 Python
Python3实现的判断回文链表算法示例
Mar 08 Python
python IDLE 背景以及字体大小的修改方法
Jul 12 Python
pytorch:model.train和model.eval用法及区别详解
Feb 20 Python
如何理解python中数字列表
May 29 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
Jun 22 Python
手把手教你将Flask应用封装成Docker服务的实现
Aug 19 Python
python实现双向链表原理
May 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
资料注册后发信小技巧
2006/10/09 PHP
解决phpmyadmin中文乱码问题。。。
2007/01/18 PHP
php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
2014/01/17 PHP
php动态生成缩略图并输出显示的方法
2015/04/20 PHP
php实现模拟post请求用法实例
2015/07/11 PHP
mysql alter table命令修改表结构实例详解
2016/09/24 PHP
详解使用php-cs-fixer格式化代码
2020/09/16 PHP
Javascript优化技巧(文件瘦身篇)
2008/01/28 Javascript
js跑马灯代码(自写)
2013/04/17 Javascript
JavaScript动态插入script的基本思路及实现函数
2013/11/11 Javascript
JavaScript Math.ceil() 函数使用介绍
2013/12/11 Javascript
javascript限制用户只能输汉字中文的方法
2014/11/20 Javascript
Juery解决tablesorter中文排序和字符范围的方法
2015/05/06 Javascript
微信小程序使用第三方库Underscore.js步骤详解
2016/09/27 Javascript
ECMAScript6--解构
2017/03/30 Javascript
nodejs入门教程五:连接数据库的方法分析
2017/04/24 NodeJs
JS实现留言板功能
2017/06/17 Javascript
Vue单文件组件基础模板小结
2017/08/10 Javascript
vue实现全选和反选功能
2017/08/31 Javascript
js 取消页面可以选中文字的功能方法
2018/01/02 Javascript
详解Vue.js在页面加载时执行某个方法
2018/11/20 Javascript
浅谈Vue使用Elementui修改默认的最快方法
2020/12/05 Vue.js
[47:10]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第二场 12.16
2020/12/18 DOTA
Python 时间操作例子和时间格式化参数小结
2014/04/24 Python
Python中使用gzip模块压缩文件的简单教程
2015/04/08 Python
Python3基于sax解析xml操作示例
2018/05/22 Python
python实现将文件夹内的每张图片批量分割成多张
2019/07/22 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
python程序如何进行保存
2020/07/03 Python
html5 touch事件实现触屏页面上下滑动(一)
2016/03/10 HTML / CSS
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
高中军训感言800字
2014/03/05 职场文书
2014大学班主任工作总结
2014/11/08 职场文书
个人业务学习心得体会
2016/01/25 职场文书
Redis5之后版本的高可用集群搭建的实现
2021/04/27 Redis
试了下Golang实现try catch的方法
2021/07/01 Golang