并排绘制两个图形

时间:2020-02-14 09:01:51

标签: python matplotlib subplot

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

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一起绘制两个图-一个创建图的函数(使用多个参数,因此它应该是一个单独的函数)。这里的问题是,应该在两个不同的框中绘制的两个图在同一框中绘制。如何解决?

1 个答案:

答案 0 :(得分:2)

您需要将各个轴对象传递给函数进行绘图

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])

enter image description here