解决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检测服务器是否正常
Feb 16 Python
python中遍历文件的3个方法
Sep 02 Python
在Python的web框架中编写创建日志的程序的教程
Apr 30 Python
python中__slots__用法实例
Jun 04 Python
详解Python3.6的py文件打包生成exe
Jul 13 Python
Python3中关于cookie的创建与保存
Oct 21 Python
Python之两种模式的生产者消费者模型详解
Oct 26 Python
python实现简单成绩录入系统
Sep 19 Python
python验证码图片处理(二值化)
Nov 01 Python
Python如何读取文件中图片格式
Jan 13 Python
利用python批量爬取百度任意类别的图片的实现方法
Oct 07 Python
Python实现仓库管理系统
May 30 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
150kHz到30Mhz完全冲浪手册
2020/03/20 无线电
CI框架中$this->load->library()用法分析
2016/05/18 PHP
深入理解php printf() 输出格式化的字符串
2016/05/23 PHP
javascript函数作用域学习示例(js作用域)
2014/01/13 Javascript
基于js与flash实现的网站flv视频播放插件代码
2014/10/14 Javascript
PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
2015/03/30 Javascript
JavaScript学习笔记整理之引用类型
2016/01/22 Javascript
JavaScript直播评论发弹幕切图功能点集合效果代码
2016/06/26 Javascript
JQuery PHP图片在线裁剪实例
2020/07/27 Javascript
微信小程序 Canvas增强组件实例详解及源码分享
2017/01/04 Javascript
jquery 仿锚点跳转到页面指定位置的实例
2017/02/14 Javascript
Angular2 路由问题修复详解
2017/03/01 Javascript
微信小程序支付及退款流程详解
2017/11/30 Javascript
nodejs实现大文件(在线视频)的读取
2020/10/16 NodeJs
javascript获取图片的top N主色值方法详解
2018/01/26 Javascript
jquery简单实现纵向的无缝滚动代码实例
2019/04/01 jQuery
jQuery层叠选择器用法实例分析
2019/06/28 jQuery
[55:04]海涛DOTA2死魂复燃6.82版本介绍
2014/09/28 DOTA
python中实现精确的浮点数运算详解
2017/11/02 Python
Python高斯消除矩阵
2019/01/02 Python
python3实现raspberry pi(树莓派)4驱小车控制程序
2020/02/12 Python
如何基于python对接钉钉并获取access_token
2020/04/21 Python
scrapy利用selenium爬取豆瓣阅读的全步骤
2020/09/20 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
2020/12/28 Python
澳大利亚顶级美发和美容贸易超市:glamaCo
2020/01/19 全球购物
俄罗斯建筑和装饰材料在线商店:Stroilandia
2020/07/25 全球购物
营销总经理的岗位职责
2013/12/15 职场文书
高三高考决心书
2014/03/11 职场文书
本科毕业自我鉴定
2014/03/20 职场文书
执法作风整顿剖析材料
2014/10/11 职场文书
劳动保障个人工作总结
2015/03/04 职场文书
党员身份证明材料
2015/06/19 职场文书
幼儿园安全管理制度
2015/08/05 职场文书
《鸟的天堂》教学反思
2016/02/19 职场文书
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/04/22 无线电
uniapp 微信小程序 自定义tabBar 导航
2022/04/22 Javascript