我现在有一组图片,一共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()

最终效果如下

微信公众号:AutoML机器学习

MARSGGBO♥原创

如有意合作或学术讨论欢迎私戳联系~
邮箱:marsggbo@foxmail.com




2019-6-24

Matplotlib同时绘制多张图片的更多相关文章

  1. Python的工具包[2] -> matplotlib图像绘制 -> matplotlib 库及使用总结

    matplotlib图像绘制 / matplotlib image description  目录 关于matplotlib matplotlib库 补充内容 Figure和AxesSubplot的生 ...

  2. 利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图、折线图、饼图

    利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图.折线图.饼图 数据: 折线图代码: import  pandas  as pdimport  matplotlib. ...

  3. Matplotlib 图形绘制

    章节 Matplotlib 安装 Matplotlib 入门 Matplotlib 基本概念 Matplotlib 图形绘制 Matplotlib 多个图形 Matplotlib 其他类型图形 Mat ...

  4. 【python】pandas & matplotlib 数据处理 绘制曲面图

    Python matplotlib模块,是扩展的MATLAB的一个绘图工具库,它可以绘制各种图形 建议安装 Anaconda后使用 ,集成了很多第三库,基本满足大家的需求,下载地址,对应选择pytho ...

  5. matplotlib 直方图绘制详解

    n, bins, patches = plt.hist(datasets, bins, normed=False, facecolor=None, alpha=None) 函数说明 用于绘制多个数据集 ...

  6. 数据分析——Matplotlib图形绘制

    创建画布或子图 函数名称 函数作用 plt.figure 创建一个空白画布,可以指定画布大小,像素. figure.add_subplot 创建并选中子图,可以指定子图的行数,列数,与选中图片编号. ...

  7. Python数据分析-Matplotlib图标绘制

    Matplotlib介绍 Matplotlib是一个强大的Python绘图和数据可视化的工具包. Matplotlib的主要功能 Matplotlib是python中的一个包,主要用于绘制2D图形(当 ...

  8. 使用matplotlib库绘制函数图

    函数如下: z = x^2 * y / (x^4 +y^2) 代码如下: import numpy as np import matplotlib.pyplot as plt import mpl_t ...

  9. matplotlib库绘制条形图

    练习一:假设你获取到了2017年内地电影票房前20的电影(列表a)和电影票房数据(列表b),那么如何更加直观的展示该数据? a = ["战狼2","速度与激情8" ...

随机推荐

  1. Java编程思想之十二 通过异常处理错误

    Java的基本概念是结构不佳的代码不能运行余下的问题必须在运行期间解决,这就需要错误源能通过某种方式,把适当的信息传递给某个接收者--该接收者将知道如何正确处理这里问题. 12.1 概念 使用异常所带 ...

  2. 如何使用 Django中的 get_queryset, get_context_data和 get_object 等方法

    原文: https://blog.csdn.net/HH2030/article/details/80994274

  3. linux shell提示输入 输错字符解决方法

    linux shell提示输入 输错字符解决方法ctrl+回车 删除单个字符ctrl+u删除光标前全部字符ctrl+k删除光标后全部字符

  4. nginx mysqlnd驱动引擎提升mysql性能

    nginx mysqlnd驱动引擎提升mysql性能 前期要安装 mysql mysqli pdo_mysql libiconv 1 先去PHP官网下个 php-5.6.29.tar.gz wget ...

  5. 解决www.coursera.org可以登录但无法播放视频

  6. recttransform

    转载自https://www.jianshu.com/p/4592bf809c8b 1.Anchor:子物体和父物体联系的桥梁,Anchors是由两个点确定的,他们就是AnchorMin以及Ancho ...

  7. Lua table的remove函数

    [1]remove函数简介 table.remove(table, pos): 返回table数组中位于pos位置的元素,其后的元素会被前移. pos参数可选, 默认为table长度, 即从最后一个元 ...

  8. [译] Go语言测试进阶版建议与技巧

    阅读本篇文章前,你最好已经知道如何写基本的单元测试.本篇文章共包含3个小建议,以及7个小技巧. 建议一,不要使用框架 Go语言自身已经有一个非常棒的测试框架,它允许你使用Go编写测试代码,不需要再额外 ...

  9. TeamViewer14试用版到期-怎么解决

    Teamviewer14提示试用期已到期怎么办? 问题分析: 出现这种问题,是因为在安装是选择了[公司/商务用途]或者[以上都是]这两个选项中的一个 解决方法: 1.退出TeamViewer远程软件, ...

  10. ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(一)(转载)

    本文结构 ASP.NET Core应用程序的构建 ASP.NET Core应用程序容器化所需注意的问题 应用程序的配置信息 端口侦听 ASP.NET Core的容器版本 docker镜像构建上下文(B ...