并排绘制两个图形

Plotting two figures side by side

正如标题所说,我正在努力将两个情节并排绘制在一起。从概念上讲,代码如下:

def my_func(arr):    
    plt.scatter(arr[:, 0], arr[:, 1])

fig, ax = plt.subplots(1, 2, sharex='col', sharey='row')

arr1 = np.array([[1, 2], [2, 2], [4, 3], [6, 4], [5, 6]])

for i in range(2):
   my_func(arr1 + i)

这里的问题是使用 my_func 将两个图绘制在一起 - 一个创建图的函数(使用多个参数,因此它应该是一个单独的函数)。这里的问题是,本应绘制在两个不同盒子中的两个图被绘制在同一个盒子中。如何解决?

您需要将相应的轴对象传递给您的函数进行绘图

def my_func(arr, ax):    
    ax.scatter(arr[:, 0], arr[:, 1])

fig, ax = plt.subplots(1, 2, sharex='col', sharey='row')

arr1 = np.array([[1, 2], [2, 2], [4, 3], [6, 4], [5, 6]])

for i in range(2):
   my_func(arr1 + i, ax[i])