Matplotlib同时绘制多张图片
我现在有一组图片,一共100张图片,每张大小是200*200,即imgs.shape=100*200*200*3
(注意通道数在最后一维)。 我需要同时绘制这100张图片,而且每张图片需要写上对应的名字,所以这里假设你已经准备好了你的图像数据,即
imgs = [
[np.random.rand(200,200,3), '1.jpg'],
...,
[np.random.rand(200,200,3), '100.jpg'],
]
在此之前我们需要提前想好该如何排版。下面以 20*5为例进行介绍:
1.首先绘制一张100*25的大图,与row(20):col(5)=4:1保持一样的比例即可:
fig=plt.figure(figsize=(100,25))
2.接下来对每一张图片进行绘制
下面代码中的textwrap是用来解决标题重叠的问题,其中的参数(我的是25)需要手动修改。
from textwrap import wrap
columns = 20
rows = 5
for i in range(1, columns*rows +1):
img = imgs[i-1][0]
ax = fig.add_subplot(rows, columns, i)
title = "\n".join(wrap(imgs[i-1][1].replace('_', ' '), 25))
ax.set_title(title, fontsize=18, fontweight='bold', x=0.5, y=0.001, bbox=dict(facecolor='white', alpha=0.5)) # 设置标题
plt.axis('off') # 去掉每个子图的坐标轴
plt.imshow(img)
plt.subplots_adjust(wspace =0, hspace =0) # 修改子图之间的间隔
plt.show()
最终效果如下
Matplotlib同时绘制多张图片的更多相关文章
- Python的工具包[2] -> matplotlib图像绘制 -> matplotlib 库及使用总结
matplotlib图像绘制 / matplotlib image description 目录 关于matplotlib matplotlib库 补充内容 Figure和AxesSubplot的生 ...
- 利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图、折线图、饼图
利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图.折线图.饼图 数据: 折线图代码: import pandas as pdimport matplotlib. ...
- Matplotlib 图形绘制
章节 Matplotlib 安装 Matplotlib 入门 Matplotlib 基本概念 Matplotlib 图形绘制 Matplotlib 多个图形 Matplotlib 其他类型图形 Mat ...
- 【python】pandas & matplotlib 数据处理 绘制曲面图
Python matplotlib模块,是扩展的MATLAB的一个绘图工具库,它可以绘制各种图形 建议安装 Anaconda后使用 ,集成了很多第三库,基本满足大家的需求,下载地址,对应选择pytho ...
- matplotlib 直方图绘制详解
n, bins, patches = plt.hist(datasets, bins, normed=False, facecolor=None, alpha=None) 函数说明 用于绘制多个数据集 ...
- 数据分析——Matplotlib图形绘制
创建画布或子图 函数名称 函数作用 plt.figure 创建一个空白画布,可以指定画布大小,像素. figure.add_subplot 创建并选中子图,可以指定子图的行数,列数,与选中图片编号. ...
- Python数据分析-Matplotlib图标绘制
Matplotlib介绍 Matplotlib是一个强大的Python绘图和数据可视化的工具包. Matplotlib的主要功能 Matplotlib是python中的一个包,主要用于绘制2D图形(当 ...
- 使用matplotlib库绘制函数图
函数如下: z = x^2 * y / (x^4 +y^2) 代码如下: import numpy as np import matplotlib.pyplot as plt import mpl_t ...
- matplotlib库绘制条形图
练习一:假设你获取到了2017年内地电影票房前20的电影(列表a)和电影票房数据(列表b),那么如何更加直观的展示该数据? a = ["战狼2","速度与激情8" ...
随机推荐
- SpringMVC拦截器与SpringBoot自定义拦截器
首先我们先回顾一下传统拦截器的写法: 第一步创建一个类实现HandlerInterceptor接口,重写接口的方法. 第二步在XML中进行如下配置,就可以实现自定义拦截器了 SpringBoot实现自 ...
- 【Gamma】项目展示
团队成员介绍 大娃 :后端开发人员,主要工作为后端开发,文档撰写. 大娃的个人博客 二娃 PM,主要工作为项目进度把控,例会博客撰写. 二娃的个人博客 三娃* PM,主要工作为项目进度把控,用户需求分 ...
- java利用注解及反射做通用的入参校验
一.原理: 1.做一个field注解,注解有两个参数:是否必填.toString之后的最大长度 2.对某个request类(或基类),使用注解标记某个字段的校验详情 3.通用的static方法,利用反 ...
- js密码加密
1.base64加密:在页面中引入base64.js文件,调用方法为: <!DOCTYPE HTML> <html> <head> <meta charset ...
- sqlcode与sqlerrm的区别
sqlCode:是数据库操作的返回码,其中0--成功:-1--失败:100--没有检索到数据. sqlerrm:是数返回指定错误代码的错误信息. 在一个内在的异常中,SQLCODE返回Oracle错误 ...
- shell备份,重命名,删除目录下面的文件
因为经常会用到shell脚本,所以经常会写一些,但是我从来没有系统的学习过shell脚本,遇到问题,就去看手册,或者google一下,到了一定的程度才发现自己的基础真的好差.下面在系统学习shell时 ...
- 在博文顶部添加文章字数及阅读时间信息:阅读本文需要xx分钟
1.在博客园设置中,页首Html代码中添加js代码 2.js代码如下 <script type="text/javascript"> $("#cnblogs_ ...
- 【转帖】nmap命令总结
nmap命令总结 https://www.cnblogs.com/chenqionghe/p/10657722.html 一.nmap是什么 nmap是一款网络扫描和主机检测的非常有用的工具,不局限于 ...
- [转帖]国产统一操作系统UOS龙芯版正式上线
国产统一操作系统UOS龙芯版正式上线 2019/12/13 12:49:31来源:IT之家作者:骑士责编:骑士评论:446 https://www.ithome.com/0/462/725.htm ...
- FMC与FPGA双口ram通讯
硬件环境:ARM+FPGA通过FMC互联,STM32F767和 EP4CE15F23I7 FMC设置,STM的系统时钟HCLK为216MHz /* FMC initialization functio ...