【问题标题】:How to display the plots of a for loop horizontally如何水平显示for循环的图
【发布时间】:2021-02-09 20:18:28
【问题描述】:

在像下面这样的简单情况下,我可以水平显示 3 个图,并可能单独更改内容,例如在子图中吗?注意:我不能只是摆脱循环并手动执行:在实际情况下,我需要从循环内部执行!

x = np.arange(-2 * pi, 2 * pi, pi / 30)
y1 = 1 + np.cos(x)
y2 = -(1 + np.cos(x + pi))
y3 = (1 + np.cos(x)) - (1 + np.cos(x + pi))
row = [y1, y2, y3]
for i in row:
    plt.figure()
    plt.plot(x, i)

【问题讨论】:

  • 对不起,我应该指定这是在 Python 中。

标签: python for-loop matplotlib plot


【解决方案1】:

如果您需要在 for 循环中生成多个子图的单个图形,可以使用 subplots:

fig, axs = plt.subplots(figsize=(16, 10), ncols=3, constrained_layout=True)

for i,k in enumerate(row):
    axs[i].plot(x,k)

如果您需要更灵活的子图结构,您也可以查看GridSpec。这个page 提供了一些有用的例子。

【讨论】:

  • 我很高兴听到它奏效了。如果它解决了您的问题,请考虑接受答案。
猜你喜欢
  • 1970-01-01
  • 2016-07-17
  • 2019-10-08
  • 1970-01-01
  • 2021-02-20
  • 2019-12-16
  • 2012-05-25
  • 1970-01-01
  • 2013-10-28
相关资源
最近更新 更多