我是python的新手,只是安装了pyCharm并尝试运行一个给出以下问题的测试示例:How to update a plot in matplotlib?
此示例更新绘图以动态移动的正弦信号.它不是重新绘制,而是更新绘图对象的数据.
它在命令行中工作,但在PyCharm中运行时图形不显示.在脚本末尾添加plt.show(block = True)会显示图,但这次它不会更新.
有任何想法吗?
解决方法:
链接问题中的更新是基于绘图嵌入在tkinter应用程序中的假设,这不是这里的情况.
对于作为独立窗口的更新图,您需要打开交互模式,即plt.ion().在PyCharm中,默认情况下应该打开.
要以交互模式显示图形,您需要绘制它,plt.draw().为了让它保持响应,你需要添加一个暂停,plt.pause(0.02).如果要在循环结束后保持打开状态,则需要关闭交互模式并显示图形.
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 6*np.pi, 100)
y = np.sin(x)
plt.ion()
fig = plt.figure()
ax = fig.add_subplot(111)
line1, = ax.plot(x, y, 'r-')
plt.draw()
for phase in np.linspace(0, 10*np.pi, 500):
line1.set_ydata(np.sin(x + phase))
plt.draw()
plt.pause(0.02)
plt.ioff()
plt.show()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。