gpt4 book ai didi

python - 在 matplotlib 中清除轴时保留自动缩放

转载 作者:太空狗 更新时间:2023-10-30 01:16:48 25 4
gpt4 key购买 nike

我想制作一系列绘图(用于创建动画),因此我想重复使用轴并在所有绘图中保留 x 和 y 限制,所以我设置了 ax.autoscale(False)。但是,当我使用 plt.cla() 清除轴以绘制下一张图像时,自动缩放设置被覆盖,因此我必须设置 ax.autoscale(False) 以及 x 和 y 限制 在每次迭代中

In [49]: fig = plt.figure(1)

In [50]: ax = fig.add_subplot(1, 1, 1)

In [59]: ax.get_autoscale_on()
Out[59]: True

In [60]: ax.autoscale(False)

In [61]: ax.get_autoscale_on()
Out[61]: False

In [62]: plt.cla()

In [63]: ax.get_autoscale_on()
Out[63]: True

所以我最终做了 ax.lines = []ax.lines.pop(),但这迫使我在每个图上设置颜色以避免颜色循环。如果我将 hold 设置为 False,那么每次调用 ax.plot() 时自动缩放设置都会重置。有没有其他方法可以在删除所有绘图的同时保留坐标区属性?

最佳答案

不要调用 plt.cla(),它会清除当前轴。如果您想创建动画,请改用 matplotlib.pyplot.draw(),这将重绘当前图形,我认为这就是您想要的。

from pylab import *
import matplotlib.pyplot as plt
ion()
ax=plt.subplot(111)

line1, = ax.plot(x,y,label='x')

for i in xrange(20):
#update your data to new x,y
line1.set_xdata(x)
line1.set_ydata(y)
draw()

CookBook of Matplotlib有一些关于动画的好例子,你可能想看看。

关于python - 在 matplotlib 中清除轴时保留自动缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10773010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com