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使用clear方法清除字典内全部数据实例
Jul 11 Python
python3编码问题汇总
Sep 06 Python
Linux RedHat下安装Python2.7开发环境
May 20 Python
Python绘制七段数码管实例代码
Dec 20 Python
利用Python如何实现数据驱动的接口自动化测试
May 11 Python
Python Tkinter 简单登录界面的实现
Jun 14 Python
Python替换月份为英文缩写的实现方法
Jul 15 Python
Python学习笔记之函数的参数和返回值的使用
Nov 20 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
Jun 18 Python
Python 使用 PyQt5 开发的关机小工具分享
Jul 16 Python
详解Anaconda 的安装教程
Sep 23 Python
pytorch学习教程之自定义数据集
Nov 10 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
PHP实现文件安全下载
2006/10/09 PHP
PHP之变量、常量学习笔记
2008/03/27 PHP
用php或asp创建网页桌面快捷方式的代码
2010/03/23 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
2013/06/28 PHP
PHP Curl多线程原理实例详解
2013/11/06 PHP
Symfony控制层深入详解
2016/03/17 PHP
PHP生成可点击刷新的验证码简单示例
2016/05/13 PHP
PHP文件下载实例代码浅析
2016/08/17 PHP
利用PHP生成静态html页面的原理
2016/09/30 PHP
php curl操作API接口类完整示例
2019/05/21 PHP
取得一定长度的内容,处理中文
2006/12/20 Javascript
几个javascript操作word的参考代码
2009/10/26 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
jquery实现相册一下滑动两次的方法
2015/02/09 Javascript
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
2016/07/01 Javascript
js中创建对象的几种方式
2017/02/05 Javascript
addEventListener()与removeEventListener()解析
2017/04/20 Javascript
简单的三步vuex入门
2018/05/20 Javascript
vxe-table vue table 表格组件功能
2019/05/26 Javascript
IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法
2019/06/04 Javascript
javascript触发模拟鼠标点击事件
2019/06/26 Javascript
JavaScript冒泡算法原理与实现方法深入理解
2020/06/04 Javascript
Python解释执行原理分析
2014/08/22 Python
Python3指定路径寻找符合匹配模式文件
2015/05/22 Python
Tensorflow中的dropout的使用方法
2020/03/13 Python
python cookie反爬处理的实现
2020/11/01 Python
基于HTML5陀螺仪实现ofo首页眼睛移动效果的示例
2017/07/31 HTML / CSS
美国开幕式潮店:Opening Ceremony
2018/02/10 全球购物
春节晚会主持词
2014/03/24 职场文书
给校长的建议书200字
2014/05/16 职场文书
浪漫婚礼主题活动策划方案
2014/09/15 职场文书
2014年重阳节老干部座谈会上的讲话稿
2014/09/25 职场文书
初中作文评语
2014/12/25 职场文书
写给导师的自荐信
2015/03/06 职场文书
离婚起诉书范文2015
2015/05/19 职场文书
浅谈TypeScript 索引签名的理解
2021/10/16 Javascript