【问题标题】:Matplotlib: Displaying and closing a plot using a loopMatplotlib:使用循环显示和关闭绘图
【发布时间】:2017-04-07 13:35:54
【问题描述】:

使用 Matplotlib 和 for 循环,是否可以显示给定时间段的图,然后在 for 循环完成时关闭它?

我尝试了以下方法,但情节仍然保持打开状态并且循环没有结束:

import matplotlib.pyplot as plt
import psychopy

x = [34.00,108.00,64.00,99.00,99.00,51.00]
y = [5.00,17.00,11.00,8.00,14.00,5.00]

scatter(x, y, color = "black")

clock = core.Clock()

while clock.getTime() < 10.0:
    plt.show()

plt.close()

谢谢

【问题讨论】:

  • 你只需要调用show一次,使用time.sleep然后close
  • 我试过 (plt.show() .. time.sleep(3) .. plt.close()) 但情节只是挂起,代码没有继续。
  • 在任何一种情况下,你只需要show一次,所以把它从循环中取出
  • 我做到了,但这并没有解决问题
  • 我知道,但这是第一步

标签: python-2.7 matplotlib psychopy


【解决方案1】:

您可以将交互模式plt.ion()plt.pause() 结合使用。

例如显示您的窗口 5 秒钟:

import matplotlib.pyplot as plt

x = [34.00,108.00,64.00,99.00,99.00,51.00]
y = [5.00,17.00,11.00,8.00,14.00,5.00]

plt.scatter(x, y, color = "black")
plt.ion()
plt.draw()
plt.pause(5)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-11
    • 1970-01-01
    • 1970-01-01
    • 2019-02-26
    • 2021-05-23
    • 2017-08-26
    相关资源
    最近更新 更多