Matplotlib 绘制饼图解决文字重叠的方法
作者:流年若逝 发布时间:2023-06-12 22:23:06
标签: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()
【新效果】
来源:https://blog.csdn.net/wyf2017/article/details/107529227
0
投稿
猜你喜欢
- 在MySQL数据库中导出整个数据库:1.导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldu
- 我要说的内容都是非常基础的内容,高手就免看了,如果看了欢迎给点意见啊。新手或者对低层还不是很了解的人可以看看,帮助理解与记忆。XMLHttp
- 许多人利用Session变量来开发ASP(Active Server Pages)。这些变量与任何编程语言中通用的变量非常相似,并且具有和通
- 如何使用ADO 2x Command 对象读取数据?具体的读数据代码如下:Cmd = CType(EC.Example1
- 很多时候,由于程序设计需要,要求在asp的include包含文件里调用动态的文件。如<!--#include file=&q
- 从最基础的说起。本教程中,所有IE 均指 WindowXP + IE 6.0, 所有 FF 均指 FF 1.5。1. 不用编程的部分1.1
- 这个收藏本站、设为首页代码相信每个网站都会用到,这么常用的代码,网络上流行的一般是很多年前的代码版本,只有兼容IE,对其它浏览器没有考虑,下
- [asp] 献一函数:ASP获取ACCESS数据库的表名以及表名对应的字段名和字段类型<%showtable "../dat
- 今天看了微软JScript官方blog上去年的两篇文章: http://blogs.msdn.com/jscript/archive/200
- 最近做了一次口碑网注册流程改造,简单说一下激活邮件的设计上的一些小心得:1、尽量不要用图片,尤其是别把激活链接做成一个点击按钮。2、尽量少的
- 今天看看那些知名的Logo,可能你没注意过,它们也是一直在变化,有的还挺雷人的!先从时尚的苹果开始吧,苹果也有土的时候。1976年那第一个L
- [1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋
- 我们可以先建立一个包含文件名,文件标题的待检索文件的数据库,然后,用ADO方式来访问它,并建立记录集对象。具体代码和说明见下:
- 要读懂这些代码主要是要了解ASP中操作二进制数据的对象ADODB.Stream!本程序主要用的就是Adodb.Stream,如果你有这个基础
- 代码如下:'文字水印 Function WordWatermark(ImagePath) Dim&nb
- 这篇是Nicholas讨论如果防止脚本失控的第二篇,主要讨论了如何重构嵌套循环、递归,以及那些在函数内部同时执行很多子操作的函数。基本的思想
- 要下午传上的.结果事一多,忘记了.好不容易回来 . 这个和 dh20156 的那个,是差不多的。 找不到合适的图片,也
- 最近做的一个B/S项目,在打印时采用了在IE中嵌入.net winform控件和XML结合的方式(参见http://www.yesky.co
- 两年前,我们开发了一套基于Flash的文件(主要是图片)上传RIA应用,提供给阿里巴巴的用户使用。如果你使用过Wordpress或flick
- 描述Python strip() 方法用于移除字符串头尾指定的字符(默认为空格)。语法strip()方法语法:str.strip([char