解决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 相关文章推荐
MySQL最常见的操作语句小结
May 07 Python
Python编写电话薄实现增删改查功能
May 07 Python
Python排序搜索基本算法之堆排序实例详解
Dec 08 Python
python3.5 tkinter实现页面跳转
Jan 30 Python
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
Mar 22 Python
python3 property装饰器实现原理与用法示例
May 15 Python
python多线程下信号处理程序示例
May 31 Python
Python3的高阶函数map,reduce,filter的示例详解
Jul 23 Python
pandas通过字典生成dataframe的方法步骤
Jul 23 Python
python快速编写单行注释多行注释的方法
Jul 31 Python
django-crontab实现服务端的定时任务的示例代码
Feb 17 Python
python 实现汉诺塔游戏
Nov 28 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
珊瑚虫IP库浅析
2007/02/15 PHP
php中计算时间差的几种方法
2009/12/31 PHP
PHP rawurlencode与urlencode函数的深入分析
2013/06/08 PHP
PHP和javascript常用正则表达式及用法实例
2014/07/01 PHP
Laravel第三方包报class not found的解决方法
2019/10/13 PHP
PHP7 windows支持
2021/03/09 PHP
JS 拼图游戏 面向对象,注释完整。
2009/06/18 Javascript
JQuery jsonp 使用示例代码
2009/08/12 Javascript
json-lib出现There is a cycle in the hierarchy解决办法
2010/02/24 Javascript
关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
2010/11/30 Javascript
JQUERY1.6 使用方法四 检测浏览器
2011/11/23 Javascript
JavaScript将Table导出到Excel实现思路及代码
2013/03/13 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
jQuery fancybox在ie浏览器下无法显示关闭按钮的解决办法
2016/02/19 Javascript
ionic实现可滑动的tab选项卡切换效果
2020/04/15 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
2016/10/21 Javascript
微信小程序实现选项卡功能
2020/06/19 Javascript
vue2.0移动端滑动事件vue-touch的实例代码
2018/11/27 Javascript
js实现3D粒子酷炫动态旋转特效
2020/09/13 Javascript
[26:21]浴火之凤-TI4世界冠军Newbee战队纪录片
2014/08/07 DOTA
python基础教程之实现石头剪刀布游戏示例
2014/02/11 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
Python数据可视化 pyecharts实现各种统计图表过程详解
2019/08/15 Python
浅谈Keras的Sequential与PyTorch的Sequential的区别
2020/06/17 Python
HTML5中视频音频的使用详解
2017/07/07 HTML / CSS
Hurley官方网站:扎根于海滩生活方式的全球青年文化品牌
2020/05/18 全球购物
国际商务专业职业生涯规划书范文
2014/01/17 职场文书
可贵的沉默教学反思
2014/02/06 职场文书
会计学自我鉴定
2014/02/06 职场文书
租赁意向书范本
2014/04/01 职场文书
小学数学课题方案
2014/06/15 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书
2016年先进教师个人事迹材料
2016/02/26 职场文书
Django drf请求模块源码解析
2021/06/08 Python
React列表栏及购物车组件使用详解
2021/06/28 Javascript
SQL Server使用导出向导功能
2022/04/08 SQL Server