来自函数的matplotlib.pyplot中的子图

时间:2018-02-16 12:48:43

标签: python matplotlib

我尝试使用一些定义的函数创建子图,它直接返回图。但我无法弄清楚为什么这不起作用。例如:

我的情节功能如下:

def plot_data(data):
    plt.plot(data)
    return plt.show()

假设我的数据是:

data1 = np.random.rand(50)
data2 = np.random.rand(50)
data3 = np.random.rand(50)
data4 = np.random.rand(50)

我试图用:

创建子图
fig, ax = plt.subplots(nrows=2, ncols=2)

plt.subplot(2, 2, 1)
plot_data(data)

plt.subplot(2, 2, 2)
plot_data(data)

plt.subplot(2, 2, 3)
plot_data(data)

plt.subplot(2, 2, 4)
plot_data(data)

plt.tight_layout()
plt.show()

它返回: enter image description here

1 个答案:

答案 0 :(得分:1)

只需删除return plt.show()功能中的plot_data()即可。那会有用。

在这种情况下,即使使用额外的函数plot_data()也可能没用,你可以直接使用plt.plot(data): - )