matplotlib 如何在一个图中绘制两个图

gpnt7bae  于 2023-06-30  发布在  其他
关注(0)|答案(1)|浏览(104)

我有两个不同的图表。
其中一个本身由3个地块组成,而另一个只有一个。
我想在一个图中放三个图,另一个在另一个图中。我该怎么做?
例如,下面是我想要的简化:
图A中有3个图:y=x,y=2x-1,y=3x**2+2x-1 x in(0,5)1图在图B中:y=sin(3*pi/x)x in(-0.5,0.5)
在这种情况下,当我使用plt.plot时,我在一个图中得到4个图,这是完全错误的,因为x的域是变化的。
所以我想要一个图,在左边的图A和右边的图B显示。This is what I want
谢谢你:)
我使用了matplotlib和名为plot的通用函数

zc0qhyus

zc0qhyus1#

您需要使用plt.subplots函数来获取轴上的句柄,并从这些轴的.plot方法绘制:

# -- Imports
import matplotlib.pyplot as plt
import numpy as np

# -- Data
x1 = np.linspace(0, 5)

y11 = x1
y12 = 2 * x1 - 1
y13 = 3 * x1**2 + 3 * x1 - 1

x2 = np.linspace(-0.5, 0.5, num=500)
y2 = np.sin(3 * np.pi / x2)

# -- Plots
fig, (ax1, ax2) = plt.subplots(ncols=2)

ax1.plot(x1, y11)
ax1.plot(x1, y12)
ax1.plot(x1, y13)
ax2.plot(x2, y2)

plt.show()

相关问题