解决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正则分组的应用
Nov 10 Python
Python重新引入被覆盖的自带function
Jul 16 Python
python中的代码编码格式转换问题
Jun 10 Python
python实现下载文件的三种方法
Feb 09 Python
python计算auc指标实例
Jul 13 Python
python实现用户管理系统
Jan 10 Python
对python列表里的字典元素去重方法详解
Jan 21 Python
Python中判断子串存在的性能比较及分析总结
Jun 23 Python
解决Mac下使用python的坑
Aug 13 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
Feb 12 Python
jupyter notebook 使用过程中python莫名崩溃的原因及解决方式
Apr 10 Python
Python flask框架实现查询数据库并显示数据
Jun 04 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安装全攻略:APACHE
2006/10/09 PHP
PHP 冒泡排序算法的实现代码
2010/08/08 PHP
ThinkPHP自动验证失败的解决方法
2011/06/09 PHP
PHP的一个基础知识 表单提交
2011/07/04 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
2012/01/10 PHP
浅析PHP中的字符串编码转换(自动识别原编码)
2013/07/02 PHP
PHP如何使用cURL实现Get和Post请求
2020/07/11 PHP
JSONP 跨域共享信息
2012/08/16 Javascript
js正则表达式中test,exec,match方法的区别说明
2014/01/29 Javascript
angularJS中router的使用指南
2015/02/09 Javascript
浅谈jquery采用attr修改form表单enctype不起作用的问题
2016/11/25 Javascript
Base64(二进制)图片编码解析及在各种浏览器的兼容性处理
2017/02/09 Javascript
AngulerJS学习之按需动态加载文件
2017/02/13 Javascript
详解react-router4 异步加载路由两种方法
2017/09/12 Javascript
angular第三方包开发整理(小结)
2018/04/19 Javascript
JS div匀速移动动画与变速移动动画代码实例
2019/03/26 Javascript
jQuery事件委托代码实践详解
2019/06/21 jQuery
node读写Excel操作实例分析
2019/11/06 Javascript
详解python中Numpy的属性与创建矩阵
2018/09/10 Python
PyQt打开保存对话框的方法和使用详解
2019/02/27 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
2020/01/18 Python
jupyter notebook插入本地图片的实现
2020/04/13 Python
浅谈CSS3特性查询(Feature Query: @supports)功能简介
2017/07/31 HTML / CSS
Html5元素及基本语法详解
2016/08/02 HTML / CSS
html5借用repeating-linear-gradient实现一把刻度尺(ruler)
2019/09/09 HTML / CSS
AmazeUi Tree(树形结构) 应用小结
2020/08/17 HTML / CSS
上班玩游戏检讨书
2014/02/07 职场文书
三八妇女节活动总结
2014/05/04 职场文书
干部职工纪律作风整改措施思想汇报
2014/10/11 职场文书
2014年学校工会工作总结
2014/12/06 职场文书
高校自主招生教师推荐信
2015/03/23 职场文书
公司借条范本
2015/05/25 职场文书
开业典礼致辞
2015/07/29 职场文书
2016春节放假通知范文
2015/08/18 职场文书
小学校园广播稿
2015/08/18 职场文书
MySQL root密码的重置方法
2021/04/21 MySQL