【问题标题】:subplot in matplotlib.pyplot from function来自函数的 matplotlib.pyplot 中的子图
【发布时间】:2018-02-16 12:48:43
【问题描述】:

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

我的绘图功能类似于:

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

它返回:

【问题讨论】:

  • 可能值得注意的是,没有必要调用plt.subplot() fig, ax = plt.subplots(nrows=2, ncols=2)
  • 确实plt.subplots(nrows=2, ncols=2)没有使用。

标签: python matplotlib


【解决方案1】:

只需删除 plot_data() 函数中的 return plt.show() 即可。这样就行了。

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

【讨论】:

  • 哈哈它对我有用......实际上,在我的真实函数中,我有很多计算,所以我定义了函数来绘制......无论如何非常感谢:)
  • 呵呵是的,当然,如果你有额外的事情要做,功能是一个好习惯。
猜你喜欢
  • 1970-01-01
  • 2015-09-27
  • 2020-10-26
  • 2021-09-19
  • 1970-01-01
  • 2014-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多