为了账号安全,请及时绑定邮箱和手机立即绑定

带有 ion() 的 MatPlotLib 不显示窗口

带有 ion() 的 MatPlotLib 不显示窗口

守着星空守着你 2021-11-09 15:00:00
如果我运行以下代码:import matplotlib.pyplot as pltimport numpy as np#plt.ion()while True:    print('loop')    x = range(10)    y = np.random.rand(10)    plt.scatter(x, y)    plt.show()然后我看到屏幕上显示了一个散点图。然后每次我关闭绘图窗口时,它都会显示一个带有新数据的新绘图。但是,如果我取消注释该行plt.ion(),则根本不会显示任何内容。没有创建窗口,程序只是继续循环,打印出“循环”。我希望能够显示图形,然后自动返回代码,图形仍然显示。我怎样才能做到这一点?
查看完整描述

1 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

如果你想在同一个图形窗口的顶部绘图,而不是在每次迭代时生成一个新窗口,以下将起作用:


import matplotlib.pyplot as plt

import numpy as np


plt.ion()


fig, ax = plt.subplots(1, 1)


while True:

    # If wanting to see an "animation" of points added, add a pause to allow the plotting to take place

    plt.pause(1)

    x = range(10)

    y = np.random.rand(10)

    ax.scatter(x, y)

您看到的结果将取决于您使用的 matplotlib 后端。如果您想查看添加的新点,您应该使用Qt4或Qt5


查看完整回答
反对 回复 2021-11-09
  • 1 回答
  • 0 关注
  • 193 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信