解决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基本数据类型详细介绍
Mar 11 Python
在DigitalOcean的服务器上部署flaskblog应用
Dec 19 Python
使用anaconda的pip安装第三方python包的操作步骤
Jun 11 Python
python配置grpc环境
Jan 01 Python
django商品分类及商品数据建模实例详解
Jan 03 Python
tensorflow指定CPU与GPU运算的方法实现
Apr 21 Python
Django ORM 查询表中某列字段值的方法
Apr 30 Python
pycharm 关掉syntax检查操作
Jun 09 Python
浅谈sklearn中predict与predict_proba区别
Jun 28 Python
详细分析Python可变对象和不可变对象
Jul 09 Python
Python爬虫使用bs4方法实现数据解析
Aug 25 Python
使用Python实现NBA球员数据查询小程序功能
Nov 09 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开发者常犯的10个MySQL错误更正剖析
2012/01/30 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
php截取中文字符串函数实例
2015/02/23 PHP
PHP排序算法类实例
2015/06/17 PHP
PHPMailer发送邮件
2016/12/28 PHP
PHP新特性之字节码缓存和内置服务器
2017/08/11 PHP
PHP 实现公历日期与农历日期的互转换
2017/09/13 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
js的with语句使用方法
2007/09/21 Javascript
prototype Element学习笔记(篇二)
2008/10/26 Javascript
jQuery 页面载入进度条实现代码
2009/02/08 Javascript
ExtJS的拖拽效果示例
2013/12/09 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
2014/06/12 Javascript
JavaScript 学习笔记之操作符
2015/01/14 Javascript
完美实现仿QQ空间评论回复特效
2015/05/06 Javascript
Angularjs中如何使用filterFilter函数过滤
2016/02/06 Javascript
全面理解JavaScript中的继承(必看)
2016/06/16 Javascript
Bootstrap table简单使用总结
2017/02/15 Javascript
详解easyui 切换主题皮肤
2019/04/04 Javascript
vue数据初始化initState的实例详解
2019/04/11 Javascript
Python的装饰器模式与面向切面编程详解
2015/06/21 Python
Python动刷新抢12306火车票的代码(附源码)
2018/01/24 Python
Python实现简单层次聚类算法以及可视化
2019/03/18 Python
利用rest framework搭建Django API过程解析
2019/08/31 Python
Python中zip()函数的简单用法举例
2019/09/02 Python
python图像处理模块Pillow的学习详解
2019/10/09 Python
python离线安装外部依赖包的实现
2020/02/13 Python
解决Python import .pyd 可能遇到路径的问题
2021/03/04 Python
div或img图片高度随宽度自适应的方法
2020/02/06 HTML / CSS
Lookfantastic西班牙官网:英国知名美妆购物网站
2018/06/13 全球购物
REISS美国官网:伦敦最受欢迎的时尚品牌
2019/08/16 全球购物
七一讲话心得体会
2014/09/05 职场文书
幼儿园五一劳动节活动总结
2015/02/09 职场文书
500字作文之难忘的同学
2019/12/20 职场文书
前端vue+express实现文件的上传下载示例
2022/02/18 Vue.js
win10如何开启ahci模式?win10开启ahci模式详细操作教程
2022/07/23 数码科技