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多进程编程技术实例分析
Sep 16 Python
Python处理CSV与List的转换方法
Apr 19 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
Jul 12 Python
Sanic框架流式传输操作示例
Jul 18 Python
numpy和pandas中数组的合并、拉直和重塑实例
Jun 28 Python
对django后台admin下拉框进行过滤的实例
Jul 26 Python
win10环境下配置vscode python开发环境的教程详解
Oct 16 Python
python多进程重复加载的解决方式
Dec 13 Python
pymysql模块的操作实例
Dec 17 Python
Python中格式化字符串的四种实现
May 26 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
Jan 12 Python
python opencv将多个图放在一个窗口的实例详解
Feb 28 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判断变量是否为0的方法
2014/02/08 PHP
在php和MySql中计算时间差的方法详解
2015/03/27 PHP
php+html5实现无刷新图片上传教程
2016/01/22 PHP
基于php数组中的索引数组和关联数组详解
2018/03/12 PHP
PHP的PDO错误与错误处理
2019/01/27 PHP
javascript客户端解决方案 缓存提供程序
2010/07/14 Javascript
JS获取月的最后一天与JS得到一个月份最大天数的实例代码
2013/12/16 Javascript
javascript实现在线客服效果
2015/07/15 Javascript
理解javascript正则表达式
2016/03/08 Javascript
AngularJs bootstrap搭载前台框架——基础页面
2016/09/01 Javascript
angular基于路由控制ui-router实现系统权限控制
2016/09/27 Javascript
jQuery输入框密码的显示隐藏【代码分享】
2017/04/29 jQuery
JavaScript正则表达式函数总结(常用)
2018/02/22 Javascript
vue组件横向树实现代码
2018/08/02 Javascript
jQuery实现图片简单轮播功能示例
2018/08/13 jQuery
在vue项目中集成graphql(vue-ApolloClient)
2018/09/08 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
2019/05/14 jQuery
小程序实现分类页
2019/07/12 Javascript
移动端吸顶fixbar的解决方案详解
2019/07/17 Javascript
jQuery操作动画完整实例分析
2020/01/10 jQuery
ant design pro中可控的筛选和排序实例
2020/11/17 Javascript
[42:06]2019国际邀请赛全明星赛 8.23
2019/09/05 DOTA
python的Crypto模块实现AES加密实例代码
2018/01/22 Python
解决python xlrd无法读取excel文件的问题
2018/12/25 Python
django基于存储在前端的token用户认证解析
2019/08/06 Python
TensorFlow梯度求解tf.gradients实例
2020/02/04 Python
django haystack实现全文检索的示例代码
2020/06/24 Python
韩国最大的购物网站:Gmarket
2019/06/20 全球购物
adidas马来西亚官网:adidas MY
2020/09/12 全球购物
电子商务专业实习生自我鉴定
2013/09/24 职场文书
《分一分》教学反思
2014/04/13 职场文书
感恩的演讲稿
2014/05/06 职场文书
优秀毕业生的求职信
2014/07/21 职场文书
对照检查剖析材料
2014/09/30 职场文书
幼儿园2014年度工作总结
2014/11/10 职场文书
2016年重阳节慰问信
2015/12/01 职场文书