返回Matplotlib轴的Python函数——如何将它们组合在一个图中?
假设我创建了返回Axis对象的函数。例如,假设正弦和余弦函数的绘图返回Matplotlib轴的Python函数——如何将它们组合在一个图中?,matplotlib,Matplotlib,假设我创建了返回Axis对象的函数。例如,假设正弦和余弦函数的绘图 def func1(): fig, ax = plt.subplots() x = np.linspace(0, 2*np.pi) ax.plot(x, np.sin(x)) return ax def func2(): fig, ax = plt.subplots() x = np.linspace(0, 2*np.pi) ax.plot(x, np.cos(x))
def func1():
fig, ax = plt.subplots()
x = np.linspace(0, 2*np.pi)
ax.plot(x, np.sin(x))
return ax
def func2():
fig, ax = plt.subplots()
x = np.linspace(0, 2*np.pi)
ax.plot(x, np.cos(x))
return ax
当然,这些函数返回以下曲线图:
如何将这两个图形组合成一个与以下代码和图像等效的图形
fig, ax = plt.subplots()
xs = np.linspace(0, 2 * np.pi)
ax.plot(x, np.cos(x))
ax.plot(x, np.sin(x))
plt.show()
也就是说,我可以像下面的伪代码那样做吗
ax1 = func1()
ax2 = func2()
fig = plt.figure()
fig.append_axes(ax1)
fig.append_axes(ax2)
plt.show()
以下是一个简单的解决方案:
def func1():
x = np.linspace(0, 2*np.pi)
plt.plot(x, np.sin(x))
def func2():
x = np.linspace(0, 2*np.pi)
plt.plot(x, np.cos(x))
func1()
func2()
输出:
是什么阻止您返回
x
和y
而不是ax
?这会让事情变得更简单。你知道,这很有趣,但你是对的。这是一种“见树不见林”之类的东西……我有点想删除它,但我想我会放弃,以防其他人发现自己寻找答案的时间比他们愿意承认的时间长。