解决python绘图使用subplots出现标题重叠的问题


Posted in Python onApril 30, 2021

先上图

解决python绘图使用subplots出现标题重叠的问题

遇到的问题

使用plt.subplots(2,2)绘图时,子图的标题和上图重叠,影响观感:

解决python绘图使用subplots出现标题重叠的问题

源代码:

import numpy as np
from scipy import signal
from skimage import data
from matplotlib import pyplot as plt

# 定义二维灰度图像的空间滤波函数
def correl2d(img, window):
	# 使用滤波器实现图像的空间相关
	# mode = 'same'表示输出尺寸等于输入尺寸
	# boundary = 'fill'表示滤波前,用常量值填充原始图像的边缘,默认常量值为0
	s = signal.correlate2d(img, window, mode='same', boundary='fill')
	return s.astype(np.uint8)
# img为原始图像
img = data.camera()
# 3*3盒状滤波模板
window_1 = np.ones((3, 3))/(3 ** 2)
# 5*5盒状滤波模板
window_2 = np.ones((5, 5))/(5 ** 2)
# 9*9盒状滤波模板
window_3 = np.ones((9, 9))/(9 ** 2)
# 生成滤波结果
new_img_1 = correl2d(img, window_1)
new_img_2 = correl2d(img, window_2)
new_img_3 = correl2d(img, window_3)
# 显示图像
plt.rcParams['font.sans-serif'] = ['SimHei'] # 中文
fig, axs = plt.subplots(2, 2)
axs[0, 0].imshow(img, cmap='gray')
axs[0, 0].set_title("摄影师原图")
axs[0, 1].imshow(new_img_1, cmap='gray')
axs[0, 1].set_title("3*3盒状滤波模板")
axs[1, 0].imshow(new_img_2, cmap='gray')
axs[1, 0].set_title("5*5盒状滤波模板")
axs[1, 1].imshow(new_img_3, cmap='gray')
axs[1, 1].set_title("9*9盒状滤波模板")
plt.show()

解决方法

方法1:在plt.show() 之前添加一句:

plt.tight_layout()

函数原型:

matplotlib.pyplot.tight_layout(*, pad=1.08, h_pad=None, w_pad=None, rect=None)

作用:调整subplots子图见的间距

Adjust the padding between and around subplots.

参数:

解决python绘图使用subplots出现标题重叠的问题

参考官方文档:https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.tight_layout.html#matplotlib.pyplot.tight_layout

部分代码:

# 显示图像
plt.rcParams['font.sans-serif'] = ['SimHei'] # 中文
fig, axs = plt.subplots(2, 2)
axs[0, 0].imshow(img, cmap='gray')
axs[0, 0].set_title("摄影师原图")
axs[0, 1].imshow(new_img_1, cmap='gray')
axs[0, 1].set_title("3*3盒状滤波模板")
axs[1, 0].imshow(new_img_2, cmap='gray')
axs[1, 0].set_title("5*5盒状滤波模板")
axs[1, 1].imshow(new_img_3, cmap='gray')
axs[1, 1].set_title("9*9盒状滤波模板")
plt.tight_layout()
plt.show()

方法1测试结果:

解决python绘图使用subplots出现标题重叠的问题

方法2:在subplots中设置figsize

fig, axs = plt.subplots(2, 2,figsize=(6, 15))
# 显示图像
plt.rcParams['font.sans-serif'] = ['SimHei'] # 中文
# 设置figsize,防止图片重叠
fig, axs = plt.subplots(2, 2,figsize=(6, 15))
axs[0, 0].imshow(img, cmap='gray')
axs[0, 0].set_title("摄影师原图")
axs[0, 1].imshow(new_img_1, cmap='gray')
axs[0, 1].set_title("3*3盒状滤波模板")
axs[1, 0].imshow(new_img_2, cmap='gray')
axs[1, 0].set_title("5*5盒状滤波模板")
axs[1, 1].imshow(new_img_3, cmap='gray')
axs[1, 1].set_title("9*9盒状滤波模板")

方法2测试结果:

解决python绘图使用subplots出现标题重叠的问题

参考

[1]https://blog.csdn.net/txh3093/article/details/106401484

到此这篇关于python绘图使用subplots出现标题重叠的解决方法的文章就介绍到这了,更多相关python使用subplots绘图标题重叠内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友
Apr 09 Python
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
Sep 24 Python
微信跳一跳游戏python脚本
Apr 01 Python
Python线性方程组求解运算示例
Jan 17 Python
对Python3中的input函数详解
Apr 22 Python
pyQt4实现俄罗斯方块游戏
Jun 26 Python
python3中类的继承以及self和super的区别详解
Jun 26 Python
python django生成迁移文件的实例
Aug 31 Python
使用python实现哈希表、字典、集合操作
Dec 22 Python
Python 分布式缓存之Reids数据类型操作详解
Jun 24 Python
Python 在函数上添加包装器
Jul 28 Python
一些关于python 装饰器的个人理解
Aug 31 Python
python数据库批量插入数据的实现(executemany的使用)
Apr 30 #Python
Python如何把不同类型数据的json序列化
Apr 30 #Python
python实现三次密码验证的示例
Django一小时写出账号密码管理系统
python中的被动信息搜集
Apr 29 #Python
Python基础之元类详解
Apr 29 #Python
教你怎么用Python监控愉客行车程
You might like
PHP 页面编码声明方法详解(header或meta)
2010/03/12 PHP
php将图片文件转换成二进制输出的方法
2015/06/10 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
PHP convert_cyr_string()函数讲解
2019/02/13 PHP
php实现对文件压缩简单的方法
2019/09/29 PHP
PHP多进程简单实例小结
2019/11/09 PHP
js change,propertychange,input事件小议
2011/12/20 Javascript
JavaScript怎么判断图片是否加载完成以便获取其尺寸
2014/05/08 Javascript
cookie的secure属性详解
2015/04/08 Javascript
简单实现异步编程promise模式
2015/07/31 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
js闭包用法实例详解
2016/12/13 Javascript
不得不看之JavaScript构造函数及new运算符
2017/08/21 Javascript
微信小程序实现多选框全选与取消全选功能示例
2019/05/14 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
对于Python编程中一些重用与缩减的建议
2015/04/14 Python
Django中模型Model添加JSON类型字段的方法
2015/06/17 Python
Python统计日志中每个IP出现次数的方法
2015/07/06 Python
神经网络(BP)算法Python实现及应用
2018/04/16 Python
python判断数字是否是超级素数幂
2018/09/27 Python
Python多进程fork()函数详解
2019/02/22 Python
Python日期时间Time模块实例详解
2019/04/15 Python
如何在python中实现随机选择
2019/11/02 Python
image-set实现Retina屏幕下图片显示详细介绍
2012/12/24 HTML / CSS
关于html字符串正则判断和匹配的具体使用
2019/12/12 HTML / CSS
Proenza Schouler官方网站:纽约女装和配饰品牌
2019/01/03 全球购物
奥地利度假券的专家:we-are.travel
2019/04/10 全球购物
英国在线购买轮胎、预订汽车、汽车维修和装配网站:Protyre
2020/04/12 全球购物
SOA面试题:如何在SOA中实现松耦合
2013/07/21 面试题
物流仓管员工作职责
2014/01/06 职场文书
大学生村官任职感言
2014/01/09 职场文书
英语教师求职信
2014/06/16 职场文书
保密工作整改报告
2014/11/06 职场文书
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
2021/04/16 PHP
JavaScript实现贪吃蛇游戏
2021/06/16 Javascript
分享Python异步爬取知乎热榜
2022/04/12 Python