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网络编程学习笔记(三):socket网络服务器
Jun 09 Python
python中list常用操作实例详解
Jun 03 Python
Python爬取APP下载链接的实现方法
Sep 30 Python
Django视图之ORM数据库查询操作API的实例
Oct 27 Python
python分治法求二维数组局部峰值方法
Apr 03 Python
Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】
Dec 05 Python
在Python中使用filter去除列表中值为假及空字符串的例子
Nov 18 Python
python函数不定长参数使用方法解析
Dec 14 Python
Python模块_PyLibTiff读取tif文件的实例
Jan 13 Python
keras实现VGG16 CIFAR10数据集方式
Jul 07 Python
Python 在函数上添加包装器
Jul 28 Python
用 Python 定义 Schema 并生成 Parquet 文件详情
Sep 25 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中文编码小技巧
2014/12/25 PHP
PHP中的常见魔术方法功能作用及用法实例
2015/07/01 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
2016/03/21 PHP
关于php中一些字符串总结
2016/05/05 PHP
老生常谈PHP位运算的用途
2017/03/12 PHP
PHP二维索引数组的遍历实例分析【2种方式】
2019/06/24 PHP
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
2007/02/15 Javascript
教你使用javascript简单写一个页面模板引擎
2015/05/05 Javascript
jQuery实现导航高亮的方法【附demo源码下载】
2016/11/09 Javascript
Vue仿手机qq的实例代码(demo)
2017/09/08 Javascript
[49:21]2018DOTA2亚洲邀请赛3月30日 小组赛B组 Effect VS iG
2018/03/31 DOTA
一篇不错的Python入门教程
2007/02/08 Python
Python内置函数——__import__ 的使用方法
2017/11/24 Python
Python中的探索性数据分析(功能式)
2017/12/22 Python
详解Python字典小结
2018/10/20 Python
Django REST framework视图的用法
2019/01/16 Python
windows下安装Python虚拟环境virtualenvwrapper-win
2019/06/14 Python
解决python web项目意外关闭,但占用端口的问题
2019/12/17 Python
Python pandas如何向excel添加数据
2020/05/22 Python
Django通过json格式收集主机信息
2020/05/29 Python
keras 解决加载lstm+crf模型出错的问题
2020/06/10 Python
Python类class参数self原理解析
2020/11/19 Python
利用python+request通过接口实现人员通行记录上传功能
2021/01/13 Python
解决python的空格和tab混淆而报错的问题
2021/02/26 Python
35款精致的 CSS3 和 HTML5 网页模板 推荐
2012/08/03 HTML / CSS
意大利体育用品和运动服网上商店:Maxi Sport
2019/09/14 全球购物
超市端午节活动方案
2014/01/23 职场文书
大二学生职业生涯规划书
2014/02/05 职场文书
教师对学生的寄语
2014/04/03 职场文书
服装设计师求职信
2014/06/04 职场文书
总经理岗位职责说明书
2014/07/30 职场文书
党员干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
群众路线党员个人整改措施
2014/10/27 职场文书
公诉意见书范文
2015/06/05 职场文书
伊索寓言读书笔记
2015/06/30 职场文书
Python写情书? 10行代码展示如何把情书写在她的照片里
2022/04/21 Python