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实现在Linux系统下更改当前进程运行用户
Feb 04 Python
python编程开发之类型转换convert实例分析
Nov 13 Python
Python实现自动添加脚本头信息的示例代码
Sep 02 Python
用Pelican搭建一个极简静态博客系统过程解析
Aug 22 Python
Python 词典(Dict) 加载与保存示例
Dec 06 Python
python中列表的含义及用法
May 26 Python
JAVA及PYTHON质数计算代码对比解析
Jun 10 Python
python获取整个网页源码的方法
Aug 03 Python
matplotlib基础绘图命令之bar的使用方法
Aug 13 Python
python Paramiko使用示例
Sep 21 Python
python 对xml解析的示例
Feb 27 Python
图文详解matlab原始处理图像几何变换
Jul 09 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
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
PHP 文件缓存的性能测试
2010/04/25 PHP
php中让上传的文件大小在上传前就受限制的两种解决方法
2013/06/24 PHP
php中引用符号(&)的使用详解
2013/11/13 PHP
PHP实现的oracle分页函数实例
2016/01/25 PHP
用Javscript实现表单复选框的全选功能
2007/05/25 Javascript
封装好的省市地区联动控件附下载
2007/08/13 Javascript
js DataSet数据源处理代码
2010/03/29 Javascript
js实现的map方法示例代码
2014/01/13 Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
2016/03/22 Javascript
Vue 实用分页paging实例代码
2017/04/12 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
2018/05/08 Javascript
4个顶级JavaScript高级文本编辑器
2018/10/10 Javascript
原生js实现html手机端城市列表索引选择城市
2020/06/24 Javascript
用Python的Django框架完成视频处理任务的教程
2015/04/02 Python
利用Python生成文件md5校验值函数的方法
2017/01/10 Python
详解Python requests 超时和重试的方法
2018/12/18 Python
树莓派采用socket方式文件传输(python)
2019/06/22 Python
用Anaconda安装本地python包的方法及路径问题(图文)
2019/07/16 Python
python 数据提取及拆分的实现代码
2019/08/26 Python
tensorflow 自定义损失函数示例代码
2020/02/05 Python
python分别打包出32位和64位应用程序
2020/02/18 Python
基于python实现FTP文件上传与下载操作(ftp&sftp协议)
2020/04/01 Python
用python打开摄像头并把图像传回qq邮箱(Pyinstaller打包)
2020/05/17 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
2020/06/04 Python
Django模型验证器介绍与源码分析
2020/09/08 Python
美国咖啡批发网站:Coffee.org
2017/06/29 全球购物
英国卫浴商店:Ergonomic Design
2019/09/22 全球购物
摩飞电器俄罗斯官方网站:Morphy Richards俄罗斯
2020/07/30 全球购物
C#里面如何判断一个Object是否是某种类型(如Boolean)?
2016/02/10 面试题
致800米运动员广播稿
2014/02/16 职场文书
博士毕业生自我鉴定范文
2014/04/13 职场文书
群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
中学感恩教育活动总结
2015/05/05 职场文书
幼儿园托班开学寄语(2016秋季)
2015/12/03 职场文书
写作指导:怎么书写竞聘演讲稿?
2019/07/04 职场文书