Matplotlib 绘制饼图解决文字重叠的方法


Posted in Python onJuly 24, 2020

在使用Matplotlib 绘制饼图的时候有些时候一些数据的比列太小在饼图呈现的效果不明显 很容易被覆盖,为了解决这个问题以下就是我个人的心得。

【未解决之前呈现的效果】

Matplotlib 绘制饼图解决文字重叠的方法

可以看到这个饼状图其他和硕士这2个部分占比很小而且比例相互覆盖,这让人看起来不舒服,所以针对这个问题我们可以调整下字体大小以及布局大小。

1.设置字体的大小

patches,l_text,p_text=plt.pie(values, spaces, labels, colors, '%.1f%%', shadow=True, radius=1, startangle=90)
# l_text是饼图对着文字大小,p_text是饼图内文字大小
for t in p_text:
  t.set_size(5)
 
for t in l_text:
  t.set_size(6)

2.防止标签重叠,可以将窗口设置的大一些

# 防止标签重叠,可以将窗口设置的大一些
plt.figure(figsize=(20, 6.5))

【源代码】

import matplotlib.pyplot as plt
 
# 解决乱码
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
 
 
# 值列表
values = [0.2515,0.3724,0.3336,0.0368,0.0057]
 
# 扇形之间的间距:设置为0就是各部分挨在一起,如果设置不为0就是突显该部分
spaces = [0, 0, 0, 0, 0]
 
# 标签列表
labels = ['中专','大专','本科','硕士','其他']
 
# 颜色列表
colors = ['dodgerblue', 'orangered', 'limegreen', 'cyan', 'gold']
 
# 防止标签重叠,可以将窗口设置的大一些
plt.figure(figsize=(20, 6.5))
 
# 将横、纵坐标轴标准化处理,保证饼图是一个正圆,否则为椭圆
plt.axis('equal')
 
# 绘图
patches,l_text,p_text=plt.pie(values, spaces, labels, colors, '%.1f%%', shadow=True, radius=1, startangle=90)
 
# 给图像加上图例
plt.legend(loc='upper left')
 
# 设置饼图内文字大小
for t in p_text:
  t.set_size(6)
 
for t in l_text:
  t.set_size(9)
 
# 显示
plt.show()

【新效果】

Matplotlib 绘制饼图解决文字重叠的方法

到此这篇关于Matplotlib 绘制饼图解决文字重叠的方法的文章就介绍到这了,更多相关Matplotlib 饼图文字重叠内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python实现中文数字转换为阿拉伯数字的方法示例
May 26 Python
Django原生sql也能使用Paginator分页的示例代码
Nov 15 Python
python机器学习实战之树回归详解
Dec 20 Python
scrapy爬虫实例分享
Dec 28 Python
使用pygame模块编写贪吃蛇的实例讲解
Feb 05 Python
python kmeans聚类简单介绍和实现代码
Feb 23 Python
人生苦短我用python python如何快速入门?
Mar 12 Python
python中利用zfill方法自动给数字前面补0
Apr 10 Python
Python实现对特定列表进行从小到大排序操作示例
Feb 11 Python
python爬虫增加访问量的方法
Aug 22 Python
Python 词典(Dict) 加载与保存示例
Dec 06 Python
Python参数传递机制传值和传引用原理详解
May 22 Python
Python3.7安装pyaudio教程解析
Jul 24 #Python
python调用私有属性的方法总结
Jul 24 #Python
python中取绝对值简单方法总结
Jul 24 #Python
python代码能做成软件吗
Jul 24 #Python
深入了解Python 变量作用域
Jul 24 #Python
详解Python IO编程
Jul 24 #Python
Python如何实现大型数组运算(使用NumPy)
Jul 24 #Python
You might like
Windows下安装Memcached的步骤说明
2010/04/25 PHP
对淘宝URL中ID提取的PHP代码
2013/09/01 PHP
PHP的Yii框架中移除组件所绑定的行为的方法
2016/03/18 PHP
PHP在linux上执行外部命令的方法
2017/02/06 PHP
php头像上传预览实例代码
2017/05/02 PHP
详解PHP文件的自动加载(autoloading)
2018/02/04 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
php7 参数、整形及字符串处理机制修改实例分析
2020/05/25 PHP
js中关于String对象的replace使用详解
2011/05/24 Javascript
AngularJS的内置过滤器详解
2015/05/14 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
2016/12/18 Javascript
CodeMirror js代码加亮使用总结
2017/03/25 Javascript
Node.js中流(stream)的使用方法示例
2017/07/16 Javascript
[09:33]2015国际邀请赛第四日TOP10
2015/08/08 DOTA
在SAE上部署Python的Django框架的一些问题汇总
2015/05/30 Python
Python实现树的先序、中序、后序排序算法示例
2017/06/23 Python
python+selenium+autoit实现文件上传功能
2017/08/23 Python
使用paramiko远程执行命令、下发文件的实例
2017/10/01 Python
python opencv 图像尺寸变换方法
2018/04/02 Python
详解用TensorFlow实现逻辑回归算法
2018/05/02 Python
Python爬虫实现抓取京东店铺信息及下载图片功能示例
2018/08/07 Python
python 字典操作提取key,value的方法
2019/06/26 Python
django 单表操作实例详解
2019/07/30 Python
解决pyPdf和pyPdf2在合并pdf时出现异常的问题
2020/04/03 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
2021/03/04 Python
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
2016/12/30 HTML / CSS
Original Penguin美国官网:布拉德皮特、强尼德普喜爱的服装品牌
2016/10/25 全球购物
大专生工程监理求职信
2013/10/04 职场文书
结对共建协议书
2014/08/20 职场文书
二手房购房协议书范本
2014/10/05 职场文书
公安机关正风肃纪剖析材料
2014/10/10 职场文书
体育教师个人工作总结
2015/02/09 职场文书
大学生思想道德自我评价
2015/03/09 职场文书
病假证明模板
2015/06/19 职场文书
决心书格式范文
2015/09/23 职场文书