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实现将html表格转换成CSV文件的方法
Jun 28 Python
python目录与文件名操作例子
Aug 28 Python
python中的break、continue、exit()、pass全面解析
Aug 05 Python
python在非root权限下的安装方法
Jan 23 Python
pymysql 插入数据 转义处理方式
Mar 02 Python
python3 正则表达式基础廖雪峰
Mar 25 Python
Python基于pandas爬取网页表格数据
May 11 Python
django rest framework 过滤时间操作
Jul 12 Python
基于Python爬取京东双十一商品价格曲线
Oct 23 Python
Python Pandas知识点之缺失值处理详解
May 11 Python
Python实现生成bmp图像的方法
Jun 13 Python
python程序的组织结构详解
Dec 06 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
快速配置PHPMyAdmin方法
2008/06/05 PHP
ajax实现无刷新分页(php)
2010/07/18 PHP
php在线代理转向代码
2012/05/05 PHP
解析PHP计算页面执行时间的实现代码
2013/06/18 PHP
PHP处理JSON字符串key缺少双引号的解决方法
2014/09/16 PHP
PHP实现二维数组按某列进行排序的方法
2016/11/18 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
window.parent调用父框架时 ie跟火狐不兼容问题
2009/07/30 Javascript
jquery高级编程的最佳实践详解
2014/03/23 Javascript
NodeJS学习笔记之FS文件模块
2015/01/13 NodeJs
JQuery中clone方法复制节点
2015/05/18 Javascript
JS+CSS实现类似QQ好友及黑名单效果的树型菜单
2015/09/22 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
jsTree事件和交互以及插件plugins详解
2017/08/29 Javascript
基于webpack4搭建的react项目框架的方法
2018/06/30 Javascript
Vue中的情侣属性$dispatch和$broadcast详解
2019/03/07 Javascript
Vue使用lodop实现打印小结
2019/07/06 Javascript
基于vue写一个全局Message组件的实现
2019/08/15 Javascript
IDEA安装vue插件图文详解
2019/09/26 Javascript
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
python每隔N秒运行指定函数的方法
2015/03/16 Python
python实现bucket排序算法实例分析
2015/05/04 Python
详解Python发送邮件实例
2016/01/10 Python
tensorflow 中对数组元素的操作方法
2018/07/27 Python
对python tkinter窗口弹出置顶的方法详解
2019/06/14 Python
Python找出列表中出现次数最多的元素三种方式
2020/02/24 Python
HTML5 用动画的表现形式装载图像
2016/03/08 HTML / CSS
详解HTML5 Canvas标签及基本使用
2020/01/10 HTML / CSS
员工年终演讲稿
2014/01/03 职场文书
犯错检讨书
2014/02/21 职场文书
《英英学古诗》教学反思
2014/04/11 职场文书
甜品店创业计划书
2014/08/14 职场文书
2015社区精神文明建设工作总结
2015/04/21 职场文书
HTML5页面音频自动播放的实现方式
2021/06/21 HTML / CSS
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
2022/04/06 Python
GTX1650super好不好 gtx1650super显卡属于什么级别
2022/04/08 数码科技