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实现画圆功能
Jan 25 Python
Django框架教程之正则表达式URL误区详解
Jan 28 Python
python实现快速排序的示例(二分法思想)
Mar 12 Python
Django 跨域请求处理的示例代码
May 02 Python
基于Python的图像数据增强Data Augmentation解析
Aug 13 Python
利用Python绘制有趣的万圣节南瓜怪效果
Oct 31 Python
python+OpenCV实现车牌号码识别
Nov 08 Python
Tensorflow分批量读取数据教程
Feb 07 Python
Transpose 数组行列转置的限制方式
Feb 11 Python
python db类用法说明
Jul 07 Python
基于Python和openCV实现图像的全景拼接详细步骤
Oct 05 Python
Python采集股票数据并制作可视化柱状图
Apr 04 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语言中global和$GLOBALS[]的分析 之二
2012/02/02 PHP
解析yahoo邮件用phpmailer发送的实例
2013/06/24 PHP
PHP封装的Twitter访问类实例
2015/07/18 PHP
CI框架表单验证实例详解
2016/11/21 PHP
在网页中屏蔽快捷键
2006/09/06 Javascript
JS读取XML文件示例代码
2013/11/15 Javascript
完美兼容IE,chrome,ff的设为首页、加入收藏及保存到桌面js代码
2014/12/17 Javascript
javascript中attachEvent用法实例分析
2015/05/14 Javascript
HTML5使用DeviceOrientation实现摇一摇功能
2015/06/05 Javascript
AngularJS基础教程之简单介绍
2015/09/27 Javascript
javascript 常用验证函数总结
2016/06/28 Javascript
基于Bootstrap框架菜鸟入门教程(推荐)
2017/09/17 Javascript
详解vue添加删除元素的方法
2018/06/30 Javascript
Bootstrap标签页(Tab)插件切换echarts不显示问题的解决
2018/07/13 Javascript
微信小程序修改swiper默认指示器样式的实例代码
2018/07/18 Javascript
在Vue中使用this.$store或者是$route一直报错的解决
2019/11/08 Javascript
js实现ajax的用户简单登入功能
2020/06/18 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
JS数据类型分类及常用判断方法
2020/11/19 Javascript
Python程序设计入门(5)类的使用简介
2014/06/16 Python
编程语言Python的发展史
2014/09/26 Python
Python 读写文件的操作代码
2018/09/20 Python
对Python中list的倒序索引和切片实例讲解
2018/11/15 Python
简单了解python列表和元组的区别
2020/05/14 Python
python 密码学示例——凯撒密码的实现
2020/09/21 Python
韩国邮政旗下生鲜食品网上超市:epost
2016/08/27 全球购物
Charlotte Tilbury英国官网:英国彩妆品牌
2017/05/26 全球购物
创业计划实施的7大步骤
2014/02/05 职场文书
公司年会搞笑主持词
2014/03/24 职场文书
纪律教育月活动总结
2014/08/26 职场文书
2014年团支部工作总结
2014/11/17 职场文书
幼儿园小班班务总结
2015/08/03 职场文书
班级班风口号大全
2015/12/25 职场文书
Mysql基础知识点汇总
2021/05/26 MySQL
Python爬虫网络请求之代理服务器和动态Cookies
2022/04/12 Python
nginx七层负载均衡配置详解
2022/07/15 Servers