Python、Matplot的subplot实现一行3列的子图绘制,并添加背景色
Python、Matplot的subplot实现一行3列的子图绘制,并添加背景色
- 1. 可能遇到的问题
- 2. 示例
- 1)绘制2*2(俩行俩列)的子图,并设置背景色
- 2) 绘制1*3(一行三列)的子图,并设置横轴纵轴值
- 3)绘制1*3(一行三列)的复杂子图
- 4)将多个图4*5(四行五列)显示在一张图像上
- 参考:
1. 可能遇到的问题
AttributeError: ‘AxesSubplot’ object has no property ‘axisbg’
问题描述:使用 Matplotlib subplot绘制2行2列的子图,并带有背景色时报如上错误
错误原因,subplot中没有 axisbg 属性
解决办法:把axisbg 改成 facecolor
2. 示例
1)绘制2*2(俩行俩列)的子图,并设置背景色
#!/usr/bin/env python
# !encoding=utf-8import matplotlib.pyplot as pltif __name__ == '__main__':for i, color in enumerate("rgby"):# 报错:AttributeError: 'AxesSubplot' object has no property 'axisbg'# plt.subplot(221 + i, axisbg=color)# 成功plt.subplot(221 + i, facecolor=color)plt.show()
修改后成功如图:
2) 绘制1*3(一行三列)的子图,并设置横轴纵轴值
#!/usr/bin/env python
# !encoding=utf-8import matplotlib.pyplot as plt
import numpy as npif __name__ == '__main__':for i, color in enumerate("rgb"):# 报错:AttributeError: 'AxesSubplot' object has no property 'axesbg'# plt.subplot(221 + i, axesbg=color)# 成功plt.subplot(131 + i, facecolor=color)# x轴等差数列,y轴等比数列x = i + 1x1 = np.arange(0, x, 1)y1 = np.logspace(1, x, num=x, base=2)print(x1, ' ', y1)plt.plot(x1, y1)plt.show()
3)绘制1*3(一行三列)的复杂子图
import numpy as np
import matplotlib.pyplot as plt# example data
x = np.arange(0.1, 4, 0.1)
y1 = np.exp(-1.0 * x)
y2 = np.exp(-0.5 * x)# example variable error bar values
y1err = 0.1 + 0.1 * np.sqrt(x)
y2err = 0.1 + 0.1 * np.sqrt(x / 2)# Now switch to a more OO interface to exercise more features.
fig, (ax_l, ax_c, ax_r) = plt.subplots(nrows=1, ncols=3,sharex=True, figsize=(12, 6))ax_l.set_title('all errorbars')
ax_l.errorbar(x, y1, yerr=y1err)
ax_l.errorbar(x, y2, yerr=y2err)ax_c.set_title('only every 6th errorbar')
ax_c.errorbar(x, y1, yerr=y1err, errorevery=6)
ax_c.errorbar(x, y2, yerr=y2err, errorevery=6)ax_r.set_title('second series shifted by 3')
ax_r.errorbar(x, y1, yerr=y1err, errorevery=4)
ax_r.errorbar(x, y2, yerr=y2err, errorevery=3)fig.suptitle('Errorbar subsampling for better appearance')
plt.show()
4)将多个图4*5(四行五列)显示在一张图像上
import osimport matplotlib.image as mpimg
import matplotlib.pyplot as pltfolder_path = os.getcwd().replace('\\', '/')
imgpath = folder_path + "/images/001.jpg"
# matplot读出来是RGB
image = mpimg.imread(imgpath)for i in range(20):plt.subplot(4, 5, i + 1)plt.imshow(image) # 通过for循环逐个显示图像plt.xticks([]) # 去掉x轴的刻度plt.yticks([]) # 去掉y轴的刻度
plt.show()
参考:
https://www.matplotlib.org.cn/tutorials/introductory/sample_plots.html#ellipses
https://matplotlib.org/gallery/lines_bars_and_markers/errorbar_subsample.html#sphx-glr-gallery-lines-bars-and-markers-errorbar-subsample-py
https://www.cnblogs.com/elitphil/p/12221103.html
Python、Matplot的subplot实现一行3列的子图绘制,并添加背景色相关推荐
- python利用表格中的某一个列_python取excel表格第一列数据?python操作excel,使用xlrd模块,获取某一列数据的语句为...
用Python修改excel中一列数据 可以使用pandas库,先读取excel文件,然后使用pandas库来修改一列,然后写入文件即可. 怎样用python,读取excel中的一列数据 sheet. ...
- python sql语句换行_python一行sql太长折成多行并且有多个参数的方法
python一行sql太长折成多行并且有多个参数 sql语句本身就支持多行, 你可以用两种方法断行 注意: 第一种会带入换行符(\n), 第二种只是一行 a='''xxxx本身也可以作为注释使用xxx ...
- Python批量修改txt文件的某列数值
Python批量修改txt文件的某列数值,在针对使用YOLOv5目标检测算法过程中,会面临更改标注文件(.txt文件)标签的情况,以将txt文件中第一列为0的数改为1为例,则可使用如下代码进行修改: ...
- python plt.subplot_Python Matplotlib subplot函数详解:创建子图
使用 Matplotlib 除可以生成包含多条折线的复式折线图之外,它还允许在一张数据图上包含多个子图. 调用 subplot() 函数可以创建一个子图,然后程序就可以在子图上进行绘制.subplot ...
- MySQL 学习笔记(16)— 子查询(单行单列、一行多列、多行多列、 ALL、ANY、SOME 运算符、EXISTS 操作符)
1. 子查询概念 子查询是指嵌套在其他语句(SELECT . INSERT . UPDATE . DELETE 等)中的 SELECT 语句:子查询也称为内查询( inner query )或者嵌套查 ...
- python代码画简单图-Python figure参数及subplot子图绘制代码
1. Python的figure参数主要有: def figure(num=None, # autoincrement if None, else integer from 1-N figsize=N ...
- python获取excel某一列-Python从Excel中读取日期一列的方法
如下所示: import xlrd import datetime file=u"伏特加.xls"#注意读中文文件名稍微处理一下 data=xlrd.open_workbook(f ...
- C语言学习之利用指针输出二维数组任一行任一列元素的值
利用指针输出二维数组任一行任一列元素的值. int main(){int a[3][4];int i,j,x,y;int (*p)[4];//指针变量p指向包含4个整型元素的一维数组printf(&q ...
- python3读取excel某一列_怎样用python,读取excel中的一列数据!python读取excel某一列数据...
Python 如何循环读取csv或者excel中的一列数据,写入到中搜索 是可以 a.csv复制到 b.csv中 import csv def foo(): with open('a.csv', 'r ...
最新文章
- 算法----Excel 表中相对应的列名称
- c++优化工具Gprof
- 从Google Wave和XML看软件复杂性之争,互联网营销
- php curl 下载图片,CURL实现下载远程图片并保存到本地
- java适配器模式火鸡变凤凰是,读《HeadFirst设计模式》笔记之适配器模式
- Boostrap技能点整理之【网格系统】
- MongoDB分析工具之三:db.currentOp()
- 在学Python前学Linux,Python原来这么好学-1.2节: 在Linux中安装python
- Red Hat Linux 253 实验部分
- CSDN博客添加微信公众号图片
- SQL SERVER BCP的用法
- abaqus编写本构方程vumat_abaqus vumat sdv
- 电脑重启只剩下c盘怎么办_我的电脑正在正常运行突然自动重启了,重启后发现系统只剩下C盘了,请教怎么恢复?...
- PyTorch: Conv2d and ConvTranspose2d
- [转]基于大规模语料的新词发现算法
- Elasticsearch:Dissect 和 Grok 处理器之间的区别
- 使用Android Studio 查看内存泄漏
- 机器学习 卷积神经网络 Convolutional Neural Network(CNN)
- VSPD V9版(Virtual Serial Port Driver 9.0)
- 【Java开发】 Spring 09 :Spring Data REST 实现并访问简单的超媒体服务
热门文章
- HDR sensor 原理介绍
- 2021年大数据ZooKeeper(五):ZooKeeper Java API操作
- Android 功能防抖 的实现
- Installation failed with message Invalid File:(Application Installatino Failed)
- GDOI2018记录
- Noip2017 跳房子——普及组
- 2022-2028年中国润滑油基础油行业市场研究及前瞻分析报告
- 【Luogu】P1013进制位(搜索)
- Oracle Database 11.2.0.4.0 已在 中标麒麟Linux x86-64 NeoKylin Linux Advanced Server 6 上通过认证...
- 九度oj 题目1411:转圈