【问题标题】:Continously updating a single plt.figure instead of creating multiple figure-windows不断更新单个 plt.figure 而不是创建多个图形窗口
【发布时间】:2018-03-04 15:34:21
【问题描述】:

我有一个循环,在其中我收集需要在 1 个图中的大约 12 个子图(这里只有 4 个子图)中绘制的测量数据,这应该在每个循环周期内更新子图。 但是,我的代码只是在每个循环周期创建一个额外的图形窗口,而不是更新单个图形窗口。 此外,测量数据包含较大的浮点值(例如 989.9871234),它们挤满了我的主要 y 刻度标签,因此 y 轴不可读,我还没有找到一个可行的解决方案来限制 y 轴标签的数量。 我使用来自Code example 的示例作为我的代码的基础。

这是我的代码(省略了不必要的测量数据收集):

    fig = plt.figure(figsize=(6, 4))
    sub1 = fig.add_subplot(221)
    sub1.plot(secondspassed_array, resistance1_array)
    sub2 = fig.add_subplot(222)
    sub2.plot(secondspassed_array, resistance2_array)
    sub3 = fig.add_subplot(223)
    sub3.plot(secondspassed_array, resistance3_array)
    sub4 = fig.add_subplot(224)
    sub4.plot(secondspassed_array, resistance4_array)
    plt.plot(secondspassed_array, resistance4_array)
    plt.tight_layout()
    plt.ion()
    plt.pause(0.05)

【问题讨论】:

  • 为什么要绘制和绘制相同的数据?这是复制/粘贴错误吗?请参阅 sub4.plotplt.plot 通话
  • 请阅读并理解minimal reproducible example。当然,您需要在更新数据的循环之外创建子图。

标签: python matplotlib figure


【解决方案1】:

尝试将plt.figure(figsize=(6, 4)) 放在循环之外

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-24
    • 2015-08-21
    • 1970-01-01
    • 2021-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多