2

我是使用 PyLab 的新手。我想画一些点。但我不想显示以前的点,即当一个新点出现时,以前的绘制点将消失,新的点将被绘制。我进行了很多搜索,但找不到如何重新初始化两者之间的情节。我面临的问题是我可以使用 plt.figure(f1.number) 设置当前图形,但是在绘制该图形中的点后,它会永久更改。

4

2 回答 2

6

plt.hold(False)在你开始绘图之前会做你想做的事。

hold老艺术家的决定在新艺术家被绘制时被保留。默认值为保持打开。

前任

# two lines 
plt.figure()
plt.hold(True)
plt.plot(range(5))
plt.plot(range(5)[::-1])

#one line
plt.figure()
plt.hold(False)
plt.plot(range(5))
plt.plot(range(5)[::-1])

通过更改它来plt.hold更改所有(新)轴。axes您可以通过以下方式更改个人的保持状态

ax = gca()
ax.hold(True)
于 2013-02-14T14:39:46.217 回答
1

使用pylab,pylab.clf()应该清除图形,之后您可以重新绘制绘图。

或者,您可以使用 和 更新数据set_xdataset_ydata这些方法是在您创建新绘图时返回的轴对象上的方法(使用pylab.plotpylab.subplot)。

后者可能是首选,但需要更多的工作。我可以快速找到的一个例子是另一个 SO question

于 2013-02-14T10:40:40.767 回答