简述

这个操作很常用。用于做对比区分

代码范式:

ax.set_title(str)

但是结合相对应的子图的设计却有多种的操作方式。比如 实例2,实例3

其中实例2的例子当中,不能将nrows改成10(虽然不知道为什么)。

  • 实例1和实例2比较适用于特殊的情况(如果行或者列超过10第一方法就不太好了,但是第二种方法就可行)
  • 实例3会更加灵活。(推荐使用

实例1

import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(6, 6.5))
for i in range(4):ax = plt.subplot(221+i)alpha = 0.98 / 4 * i + 0.01ax.set_title('%.3f' % alpha)t1 = np.arange(0.0, 1.0, 0.01)for n in [1, 2, 3, 4]:plt.plot(t1, t1 ** n, label="n=%d" % n)leg = plt.legend(loc='best', ncol=4, mode="expand", shadow=True)leg.get_frame().set_alpha(alpha)plt.savefig('1.png')
plt.show()

实例2

CIFAR10为例:

导入包

import torch
import torchvision
import os
from torch.utils.data import Dataset, DataLoader
import torchvision.utils as vutils
import numpy as np
import matplotlib.pyplot as plt
import pickle

下载并加载数据

DOWNLOAD_CIFAR10 = False
cifar10_root = './cifar10/'
if not (os.path.exists(cifar10_root)) or not os.listdir(cifar10_root):# not mnist dir or mnist is empyt dirDOWNLOAD_CIFAR10 = True
train_data = torchvision.datasets.CIFAR10(root=cifar10_root,train=True,  # this is training datatransform=torchvision.transforms.ToTensor(),  # Converts a PIL.Image or numpy.ndarray to# torch.FloatTensor of shape (C x H x W) and normalize in the range [0.0, 1.0]download=DOWNLOAD_CIFAR10,
)
train_loader = DataLoader(dataset=train_data, batch_size=100, shuffle=True)
with open('./cifar10/cifar-10-batches-py/batches.meta', 'rb') as f:data = pickle.load(f)

调用数据

for step, (x, y) in enumerate(train_loader):print(x.shape, y.shape)print(y)fig = plt.figure(figsize=(10, 10))fig, axs = plt.subplots(nrows=1, ncols=10, figsize=(10, 1.5))for i in range(10):ax = axs[i]ax.axis("off")ax.set_title(data['label_names'][y[i]])ax.imshow(np.transpose(x[i].numpy(), (1, 2, 0)))plt.savefig('cifar-10.png')plt.show()break

实例3

前面的步骤和实例2一模一样,就不重复了。

调用数据

注意plt.axis()不可以拿出到循环外面来。

for step, (x, y) in enumerate(train_loader):print(x.shape, y.shape)print(y)fig = plt.figure(figsize=(20, 20))for i in range(100):ax = plt.subplot(10, 10, i+1)plt.axis("off")ax.set_title(data['label_names'][y[i]])plt.imshow(np.transpose(x[i].numpy(), (1, 2, 0)))plt.savefig('cifar-100.png')plt.show()break

效果类似于:

for step, (x, y) in enumerate(train_loader):print(x.shape, y.shape)print(y)fig = plt.figure(figsize=(20, 20))for i in range(100):ax = plt.subplot(10, 10, i+1)ax.axis("off")ax.set_title(data['label_names'][y[i]])plt.imshow(np.transpose(x[i].numpy(), (1, 2, 0)))plt.savefig('cifar-100.png')plt.show()break

【数据展示】matplotlib子图设置子标题(subtitle for subplot)相关推荐

  1. wps设置子标题编号继承上级标题

    标题2的子标题是2.1 2.2 而不是 1.1 1.2,做法是直接右键,点项目符号和编号,选多级编号,选择一个格式,就行了. 在格式里,把"①."的点去掉,可以从 1.1. 变成1 ...

  2. Python使用matplotlib函数subplot可视化多个不同颜色的折线图、为多个子图添加总标题(main title)

    Python使用matplotlib函数subplot可视化多个不同颜色的折线图.为多个子图添加总标题(main title) 目录

  3. Python使用matplotlib函数subplot可视化多个不同颜色的折线图、为多个子图添加总标题(main title)、自定义设置主标题字体类型、字体大小、字体颜色等

    Python使用matplotlib函数subplot可视化多个不同颜色的折线图.为多个子图添加总标题(main title).自定义设置主标题字体类型.字体大小.字体颜色等 目录

  4. python使用matplotlib可视化使用subplots子图、subplots绘制子图并为可视化的子图添加主标题(subplots main title)

    python使用matplotlib可视化使用subplots子图.subplots绘制子图并为可视化的子图添加主标题(subplots main title) 目录

  5. R语言ggplot2可视化:使用patchwork包将两个ggplot2可视化结果组合起来、使用labs函数为第两个子图都添加标题信息(subtitle for each subplots)

    R语言ggplot2可视化:使用patchwork包将两个ggplot2可视化结果组合起来.使用labs函数为第两个子图都添加标题信息(subtitle for each subplots) 目录

  6. matplotlib 源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)

    在matplotlib中常用的标题主要三种:窗口标题.图像标题和子图标题. 先通过三个案例简要说明这三类标题的实现. 窗口标题.图像标题,子图标题(仅1个子图) import matplotlib.p ...

  7. 智能蜂箱管理系统——物联网工程专业软硬结合课设 计算机专业课程设计 大作业 项目(安卓,Springboot后端,网页数据展示前端,ESP8266传输数据,MQTT服务器)

    项目一 智能蜂箱管理系统 (有需要请私聊) 包括安卓端.数据展示的前端(含登录注册),Springboot后端,ESP8266硬件端传输数据的代码,以及文档. 功能简介 安卓端 安卓端具有创建蜂箱.删 ...

  8. 第十九章 python 数据可视化 Matplotlib Pygal

    python 数据可视化 一.使用Matplotlib生成数据图 1. matplotlib画图中文乱码小方框的解决方法 2. 知识点 3. 安装Matplotlib包 4. Matplotlib数据 ...

  9. Python数据可视化matplotlib:第四回:文字图例尽眉目

    Python数据可视化matplotlib:第四回:文字图例尽眉目 1. Figure和Axes上的文本 大家可以看到有些论文或者博客上都有绘制的很漂亮的图,其中大部分都在图形绘制上进行一定的注释说明 ...

最新文章

  1. 《C++primer》第一章--开始
  2. QIIME 2教程. 24Python命令行模式Artifact API(2021.2)
  3. Tomcat单向Https验证搭建,亲自实现与主流浏览器、Android/iOS移动客户端安全通信
  4. ActiveMQ入门教程(二) - ActiveMQ的安装
  5. 美学心得(第一百九十四集)罗国正
  6. 新冠疫苗厂商科兴成立房地产公司?网友:准备打疫苗送房子了?
  7. c++和Python之rfind不同
  8. git使用的一些常用命令
  9. NPM酷库:dateformat 时间字符串格式化
  10. AI项目商务合作,寻广州附近计算机视觉算法团队!
  11. jQuery做个TextBox自动完成条
  12. 【学习笔记】计算机导论之计算机软件
  13. div+css布局与seo的关系
  14. SqlServer之xp_cmdshell_使用以及配置(转)
  15. 4698. [SDOI2008]Sandy的卡片【后缀数组】
  16. java的学习--第一章 java基础入门
  17. ActiveX:ActiveX控件安装、dllregisterserver的调用失败
  18. 串口通信接口标准(三)——RS232
  19. UI常见面试题-整体素养篇
  20. 5421. 【NOIP2017提高A组集训10.25】嘟嘟噜—mayuri

热门文章

  1. wince国际化语言支持
  2. WINCE5.0+S3C2443系统每隔几分钟会自动关闭LCD显示
  3. Python爬虫解析html:lxml的HtmlElement对象获取和设置inner html
  4. 关于网络安全几个问题的整理
  5. 读取pandas修改单列数据类型
  6. 马哥linux学习笔记:openssl的使用
  7. 我们在囧途之技术骨干篇
  8. Android应用自动更新功能实现使用AsyncTask!
  9. 概率编程库Pymc3案例之鲁棒线性回归
  10. Hadoop系列七:Hadoop之sqoop篇