python excel 饼图 简书_Python可视化29_matplotlib-饼图(pie)
本文详细介绍python 使用matplotlib.pyplot.pie绘制饼图(pie)
本文快速预览
更多好文,欢迎随缘关注@
image
image
目录
默认参数
修改配色
饼图某部分突出or爆炸显示
格式化显示每部分数据
圈中文字与中心距离
周围标签名与中心距离
饼图开始角度
饼图半径
顺时针or逆时针显示
饼图框属性设置
饼图中文本属性
饼图高度个性化设置
添加图例
matplotlib.pyplot.pie
语法:matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=0, radius=1, counterclock=True, wedgeprops=None, textprops=None, center=0, 0, frame=False, rotatelabels=False, *, normalize=None, data=None)
默认参数
import matplotlib.pyplot as plt
import palettable
my_dpi=96
plt.figure(figsize=(480/my_dpi,480/my_dpi),dpi=my_dpi)
plt.pie(x=[1,2,3],#指定绘图数据
labels=['A','B','C'],#为饼图添加标签说明
)
plt.show()
image
修改配色
关于颜色的使用可看之前的文章,有详细介绍:一文搞定python颜色盘
my_dpi=96
plt.figure(figsize=(480/my_dpi,480/my_dpi),dpi=my_dpi)
plt.pie(x=[1,2,3],
labels=['A','B','C'],
colors=["#d5695d", "#5d8ca8", "#65a479"],#修改饼图颜色,传入颜色list
#colors=plt.cm.get_cmap('Set3')(range(5)),#使用matplotlib自带颜色
#colors=palettable.cartocolors.qualitative.Bold_9.mpl_colors,#使用palettable配色库
)
plt.show()
image
饼图某部分突出or爆炸显示
my_dpi=96
plt.figure(figsize=(480/my_dpi,480/my_dpi),dpi=my_dpi)
plt.pie(x=[1,2,3],
labels=['A','B','C'],
colors=["#d5695d", "#5d8ca8", "#65a479"],
explode=(0, 0.2, 0),#某部分突出显示,值越大,距离中心越远,该法可解决饼图字体重叠的问题
)
plt.show()
image
格式化显示每部分数据
my_dpi=96
plt.figure(figsize=(480/my_dpi,480/my_dpi),dpi=my_dpi)
plt.pie(x=[1,2,3],
labels=['A','B','C'],
colors=["#d5695d", "#5d8ca8", "#65a479"],
autopct='%.2f%%',#格式化输出百分比
)
plt.show()
image
圈中文字与中心距离
my_dpi=96
plt.figure(figsize=(480/my_dpi,480/my_dpi),dpi=my_dpi)
plt.pie(x=[1,2,3],
labels=['A','B','C'],
colors=["#d5695d", "#5d8ca8", "#65a479"],
autopct='%.2f%%',
pctdistance=0.8,#百分比标签与圆心的距离
)
plt.show()
image
周围标签名与中心距离
my_dpi=96
plt.figure(figsize=(480/my_dpi,480/my_dpi),dpi=my_dpi)
plt.pie(x=[1,2,3],
labels=['A','B','C'],
colors=["#d5695d", "#5d8ca8", "#65a479"],
autopct='%.2f%%',
labeldistance=1.5,#labels与圈边界的距离,默认为1.1
)
plt.show()
image
饼图开始角度
my_dpi=96
plt.figure(figsize=(480/my_dpi,480/my_dpi),dpi=my_dpi)
plt.pie(x=[1,2,3],
labels=['A','B','C'],
colors=["#d5695d", "#5d8ca8", "#65a479"],
autopct='%.2f%%',
startangle=45,#饼图的开始角度,默认为0度
)
plt.show()
image
饼图半径
my_dpi=96
plt.figure(figsize=(480/my_dpi,480/my_dpi),dpi=my_dpi)
plt.pie(x=[1,2,3],
labels=['A','B','C'],
colors=["#d5695d", "#5d8ca8", "#65a479"],
autopct='%.2f%%',
radius=1.3,#饼图半径,默认为1
)
plt.show()
image
顺时针or逆时针显示
my_dpi=96
plt.figure(figsize=(480/my_dpi,480/my_dpi),dpi=my_dpi)
plt.pie(x=[1,2,3],
labels=['A','B','C'],
colors=["#d5695d", "#5d8ca8", "#65a479"],
autopct='%.2f%%',
counterclock=False,#关闭逆时针显示
)
plt.show()
image
饼图框属性设置
my_dpi=96
plt.figure(figsize=(480/my_dpi,480/my_dpi),dpi=my_dpi)
plt.pie(x=[1,2,3],
labels=['A','B','C'],
colors=["#d5695d", "#5d8ca8", "#65a479"],
autopct='%.2f%%',
#设置框属性
wedgeprops={'edgecolor':'r',#内外框颜色
'linestyle':'--',#线型
'alpha':0.5,#透明度
#更多参考matplotlib.patches.Wedge
}
)
plt.show()
image
饼图中文本属性
my_dpi=96
plt.figure(figsize=(480/my_dpi,480/my_dpi),dpi=my_dpi)
plt.pie(x=[1,2,3],
labels=['A','B','C'],
colors=["#d5695d", "#5d8ca8", "#65a479"],
autopct='%.2f%%',
#饼图中文本的属性
textprops={'color':'r',#文本颜色
'fontsize':16,#文本大小
'fontfamily':'Microsoft JhengHei',#设置微软雅黑字体
#更多参考matplotlib.pyplot.text
}
)
plt.show()
image
饼图高度个性化设置
每一部分特异设置
饼图中每一部分都可以拆开单独个性化设置。
plt.pie返回以下三个对象,相应个性化设置都可参考Matplolib详细文档:
matplotlib.patches.Wedge
matplotlib.text.Text
matplotlib.text.Text
my_dpi=96
plt.figure(figsize=(680/my_dpi,680/my_dpi),dpi=my_dpi)
patches, texts, autotexts = plt.pie(x=[1,2,3],#返回三个对象
labels=['A','B','C'],
colors=["#d5695d", "#5d8ca8", "#65a479"],
autopct='%.2f%%',
explode=(0.1,0,0)
)
texts[0].set_color('r')#修改A标签的颜色
texts[1].set_size('20')#修改B的大小
autotexts[2].set_color('b')#修改50.00%的颜色
#matplotlib.patches.Wedge
patches[0].set_alpha(0.3)#A组分设置透明度
patches[2].set_hatch('|')#C组分添加网格线
patches[1].set_hatch('x')
plt.legend(patches, ['A','B','C'],#添加图例
title="Pie Learning",
loc="center left",
fontsize=15,
bbox_to_anchor=(1, 0, 0.5, 1))
plt.title('Your pie',size=20)
plt.show()
image
添加图例
#这里简单介绍,后面单独开一篇写图例设置
from string import ascii_letters
my_dpi=96
plt.figure(figsize=(480/my_dpi,480/my_dpi),dpi=my_dpi)
patches, texts, autotexts = plt.pie(x=range(1,12),
labels=list(ascii_letters[26:])[0:11],
colors=palettable.cartocolors.qualitative.Bold_9.mpl_colors,
autopct='%.2f%%',
)
plt.legend(patches, list(ascii_letters[26:])[0:11],#添加图例
title="Pie Learning",
loc="center left",
bbox_to_anchor=(1, 0, 0.5, 1),
ncol=2,#控制图例中按照两列显示,默认为一列显示,
)
image
参考资料
更多好文,欢迎随缘关注@
python excel 饼图 简书_Python可视化29_matplotlib-饼图(pie)相关推荐
- python对excel操作简书_Python实现EXCEL常用操作——pandas简介
知乎的代码块太丑了,这里的内容就更新到简书了Python实现EXCEL常用操作--pandas简介www.jianshu.com EXCEL是日常办公最常用的软件,然而遇到数据量特别大(超过10W条 ...
- python excel 饼图 简书_Python实现绘画多个饼图
实现多饼图绘制,简单饼图实现及pie详细介绍,可参考第一篇. 1.效果展示 Figure_1.png 2.代码 import matplotlib.pyplot as plt # 同时绘制四个饼图 l ...
- python对excel操作简书_Python读写Excel表格,就是这么简单粗暴又好用
最近在做一些数据处理和计算的工作,因为数据是以.CSV格式保存的,因此刚开始直接用Excel来处理. 但是做着做着发现重复的劳动,其实并没有多大的意义,于是就想着写个小工具帮着处理. 以前正好在一本书 ...
- python对excel操作简书_Python 操作Excel
操作Excel的Python模块有很多,从操作难易度和功能两方面考虑,选择了下面两个模块. 1. 读Excel模块 xlrd API reference xlrd提供了按行读取和按单元格读取两种方式 ...
- python对excel操作简书_python Excel 写
1.优点 一.功能比较强 相对而言,这是除Excel自身之外功能最强的工具了.比如我就用到了它提供的:字体设置.前景色背景色.border设置.视图缩放(zoom).单元格合并.autofilter. ...
- python 串口助手 简书_python用pyserial读取串口问题解决
object is not callable Error: 'bool' object is not callable 没有返回值 正确代码: ser = serial.Serial('COM7', ...
- 小甲鱼python课后题简书_Python练习题100道
1.有四个数字:1,2,3,4,能组成多少个互不相同且无重复数字的三位数?各是多少? 方法一:遍历所有可能,把重复的剃掉. total=0 for i in range(1,5): for j in ...
- python scrapy框架 简书_python爬虫框架——Scrapy架构原理介绍
说起写爬虫,大多数第一时间想到的就是python了.python语法简洁明了,加上及其丰富好用的库,用它来写爬虫有天然的优势. 之前学python的时候也用requests+lxml写过几个爬虫玩,但 ...
- python学习笔记简书_Python学习笔记
本人在廖雪峰的python教程学习python,在此记录一些笔记,记一些重要的东西,以便查询及复习. 输入与输出 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字. print()会依 ...
最新文章
- 3DSlicer28:PLUS
- 关于文件操作的\r\n问题。
- linux vi 出现下划线,Vim高亮当前行(显示为下划线)的解决方案
- 面对1.3 亿用户数据泄露,企业如何围绕核心数据构建安全管理体系?
- 从零实现深度学习框架【实现自己的PyTorch】
- GBK汉字的索引方法
- python中grid的用法_SVM中如何使用grid.py
- 浙江省二级计算机vfp,浙江省高校计算机等级考试大纲(二级——VisualFoxPro语言程序设计大纲)...
- QQ小游戏 微信小游戏 即时通信 IM 删除会话 deleteConversation sdk
- sd卡umount时busy解决方法
- WebGis——Pixi开发vue项目之创建pixi应用并显示一个精灵(一)
- java计算机毕业设计Vue垃圾分类指南平台设计与实现源码+数据库+系统+lw文档
- uniapp授权登录微信支付宝小程序获取code和基础信息
- 26个字母和数字符号ASCII码对照表
- 2013年7月美国Boston之旅
- how to do research
- Dialog的Dismiss方法使用注意事项
- 东方博宜OJ 1052 - 【入门】行李托运费
- openEuler@树莓派
- 不眠者-泽队:广东省工科赛—全地形越障排爆组(开源7天)
热门文章
- 安卓手机开启开发者选项
- 武汉大学计算机音乐,名家论坛丨预告:聆听音乐
- 如何安装OpenCVE
- 逆向_base64_rc4_----笔记
- 【矩阵乘】【DP】【codevs 1305】Freda的道路
- 【Python机器学习基础教程】(三)
- vim的配置文件。转自:http://www.cnblogs.com/ma6174/
- 利用正则表达式做验证登录
- 手机浏览器类型ua php,通过userAgent判断手机浏览器类型(示例代码)
- 淘宝直播接口分析!!! 测试!!!