解决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 相关文章推荐
python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
Aug 15 Python
python使用BeautifulSoup分析网页信息的方法
Apr 04 Python
python使用socket向客户端发送数据的方法
Apr 29 Python
Python之dict(或对象)与json之间的互相转化实例
Jun 05 Python
Python通用循环的构造方法实例分析
Dec 19 Python
Python实现批量执行同目录下的py文件方法
Jan 11 Python
Python实现某论坛自动签到功能
Aug 20 Python
Python中注释(多行注释和单行注释)的用法实例
Aug 28 Python
python将print输出的信息保留到日志文件中
Sep 27 Python
Python实现验证码识别
Jun 15 Python
Python JSON常用编解码方法代码实例
Sep 05 Python
浅谈Python xlwings 读取Excel文件的正确姿势
Feb 26 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 smarty的预保留变量总结
2008/12/04 PHP
注册页面之前先验证用户名是否存在的php代码
2012/07/14 PHP
PHP模糊查询的实现方法(推荐)
2016/09/06 PHP
jQuery对于显示和隐藏等常用状态的判断方法
2014/12/13 Javascript
Windows下用PyCharm和Visual Studio开始Python编程
2015/10/26 Javascript
轻松实现js图片预览功能
2016/01/18 Javascript
浅谈jQuery绑定事件会叠加的解决方法和心得总结
2016/10/26 Javascript
JS触摸与手势事件详解
2017/05/09 Javascript
如何理解Vue的.sync修饰符的使用
2017/08/17 Javascript
SeaJS中use函数用法实例分析
2017/10/10 Javascript
JavaScript中EventLoop介绍
2018/01/22 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
详解VUE单页应用骨架屏方案
2019/01/17 Javascript
Vue多环境代理配置方法思路详解
2019/06/21 Javascript
layer.alert自定义关闭回调事件的方法
2019/09/27 Javascript
vue实现折线图 可按时间查询
2020/08/21 Javascript
[02:44]完美大师赛主赛事淘汰赛第二日观众采访
2017/11/24 DOTA
Python set集合类型操作总结
2014/11/07 Python
轻松掌握python设计模式之访问者模式
2016/11/18 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
2018/05/02 Python
python将秒数转化为时间格式的实例
2018/09/16 Python
python基于SMTP协议发送邮件
2019/05/31 Python
在Django中实现添加user到group并查看
2019/11/18 Python
python爬虫scrapy图书分类实例讲解
2020/11/23 Python
在线服装零售商:SheIn
2016/07/22 全球购物
全球知名的珠宝首饰品牌:Kay Jewelers
2018/02/11 全球购物
印度手工编织服装和家居用品商店:Fabindi
2019/10/07 全球购物
广州足迹信息技术有限公司Java软件工程师试题
2014/02/15 面试题
医药专业推荐信
2013/11/15 职场文书
一年级数学教学反思
2014/02/01 职场文书
2015新年寄语(一句话)
2014/12/08 职场文书
经理岗位职责范本
2015/04/15 职场文书
秋菊打官司观后感
2015/06/03 职场文书
创业计划书之餐饮馄饨店
2019/07/18 职场文书
使用canvas实现雪花飘动效果的示例代码
2021/03/30 HTML / CSS
使用Pytorch训练two-head网络的操作
2021/05/28 Python