在本章中,无涯教程将学习如何在同一画布上创建多个图。
subplot()函数返回给定网格位置处的轴对象 。
plt.subplot(subplot(nrows, ncols, index)
在当前图中,该函数在ncolsaxes在nrows网格的位置索引处创建并返回一个Axes 对象 ,索引从1到nrows * ncols,以行优先顺序递增。如果nrows,ncols和index都小于10,则索引也可以指定为单个,级联的三位数。
链接:https://www.learnfk.comhttps://www.learnfk.com/matplotlib/matplotlib-multiplots.html
来源:LearnFk无涯教程网
如,subplot(2,3,3)和subplot(233)都在当前图形的右上角创建一个Axes,占据图形高度的一半和图形宽度的三分之一。
创建子图将删除与该子图重叠的任何现有子图,而不会共享边界。
import matplotlib.pyplot as plt # 绘制一条线,隐式创建一个子图(111) plt.plot([1,2,3]) # 现在创建一个子图,它表示具有 2 行和 1 列的网格的顶部图。 # 由于此子图将与第一个重叠,因此之前的图(及其轴) created, will be removed plt.subplot(211) plt.plot(range(12)) plt.subplot(212, facecolor='y') # 创建带有黄色背景的第二个子图 plt.plot(range(12))
上面的代码行生成以下输出-
图类的add_subplot()函数不会覆盖现有图-
import matplotlib.pyplot as plt fig = plt.figure() ax1 = fig.add_subplot(111) ax1.plot([1,2,3]) ax2 = fig.add_subplot(221, facecolor='y') ax2.plot([1,2,3])
执行以上代码行后,将生成以下输出-
您可以通过在同一图形画布中添加另一个轴对象来在同一图形中添加插入图。
import matplotlib.pyplot as plt import numpy as np import math x = np.arange(0, math.pi*2, 0.05) fig=plt.figure() axes1 = fig.add_axes([0.1, 0.1, 0.8, 0.8]) # 主轴 axes2 = fig.add_axes([0.55, 0.55, 0.3, 0.3]) # 插入轴 y = np.sin(x) axes1.plot(x, y, 'b') axes2.plot(x,np.cos(x),'r') axes1.set_title('sine') axes2.set_title("cosine") plt.show()
执行以上代码行后,将生成以下输出-
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)
Python实战 · 从0到1搭建直播视频平台 -〔Barry〕