将函数中创建的图形添加到另一个图形的子图中
Adding a figure created in a function to another figure's subplot
我创建了两个函数来制作两个特定的图,returns 我得到了相应的数字:
import matplotlib.pyplot as plt
x = range(1,100)
y = range(1,100)
def my_plot_1(x,y):
fig = plt.plot(x,y)
return fig
def my_plot_2(x,y):
fig = plt.plot(x,y)
return fig
现在,在我的函数之外,我想创建一个包含两个子图的图形,并将我的函数图形添加到其中。像这样:
my_fig_1 = my_plot_1(x,y)
my_fig_2 = my_plot_2(x,y)
fig, fig_axes = plt.subplots(ncols=2, nrows=1)
fig_axes[0,0] = my_fig_1
fig_axes[0,1] = my_fig_2
但是,仅仅将创建的图形分配给这个新图形是行不通的。该函数调用图窗,但未在子图中分配。有没有办法将我的函数图放在另一个图的子图中?
将你的函数传递给 Axes
:
def my_plot_1(x,y,ax):
ax.plot(x,y)
def my_plot_2(x,y,ax):
ax.plot(x,y)
fig, fig_axes = plt.subplots(ncols=2, nrows=1)
# pass the Axes you created above
my_plot_1(x, y, fig_axes[0])
my_plot_2(x, y, fig_axes[1])
我创建了两个函数来制作两个特定的图,returns 我得到了相应的数字:
import matplotlib.pyplot as plt
x = range(1,100)
y = range(1,100)
def my_plot_1(x,y):
fig = plt.plot(x,y)
return fig
def my_plot_2(x,y):
fig = plt.plot(x,y)
return fig
现在,在我的函数之外,我想创建一个包含两个子图的图形,并将我的函数图形添加到其中。像这样:
my_fig_1 = my_plot_1(x,y)
my_fig_2 = my_plot_2(x,y)
fig, fig_axes = plt.subplots(ncols=2, nrows=1)
fig_axes[0,0] = my_fig_1
fig_axes[0,1] = my_fig_2
但是,仅仅将创建的图形分配给这个新图形是行不通的。该函数调用图窗,但未在子图中分配。有没有办法将我的函数图放在另一个图的子图中?
将你的函数传递给 Axes
:
def my_plot_1(x,y,ax):
ax.plot(x,y)
def my_plot_2(x,y,ax):
ax.plot(x,y)
fig, fig_axes = plt.subplots(ncols=2, nrows=1)
# pass the Axes you created above
my_plot_1(x, y, fig_axes[0])
my_plot_2(x, y, fig_axes[1])