import time
import matplotlib.pyplot as plt
xvalues = [1,2,3,4,5,6,7,8,9]
yvalues = [1,3,5,9,8,7,8,5,6]
plt.xlabel('time in hours')
plt.ylabel('ph')
plt.plot([xvalues],[yvalues], 'ro')
plt.axis ([0,10,0,15])
plt.show()
time.sleep(1)
clf()
我想用图表制作一个图形,然后在特定时间后删除该图形。但是当我尝试它时,我得到错误:在我要删除图形的最后一行的未定义名称。
答案 0 :(得分:1)
关于错误:clf()
未定义,您可能希望使用plt.clf()
。
但是,plt.clf()
不会删除该数字。它只清除了这个数字。你可能想读
When to use cla(), clf() or close() for clearing a plot in matplotlib?
不幸的是,问题的预期行为是什么并不完全清楚。如果将其作为脚本运行,图形窗口将保持打开状态,直到您手动关闭它;只有这样才能执行plt.show()
之后的任何代码。 time.sleep()
的使用没有任何意义,删除该数字是不必要的,因为脚本无论如何都会停止,清除内存。
如果您希望以交互模式(plt.ion()
)运行此操作,则可以使用plt.pause(1)
暂停1秒,然后关闭该数字。
import matplotlib.pyplot as plt
plt.ion()
xvalues = [1,2,3,4,5,6,7,8,9]
yvalues = [1,3,5,9,8,7,8,5,6]
plt.xlabel('time in hours')
plt.ylabel('ph')
plt.plot([xvalues],[yvalues], 'ro')
plt.axis ([0,10,0,15])
plt.show()
plt.pause(1)
plt.close()