清除以前的线图,但保留Python中的轴限制

我在python中有以下代码

def animate(i):
    data_np = np.frombuffer(stream.read(CHUNK), dtype=np.int16)
    global ax
    ax.cla()
    ax.set_xlabel('time')
    ax.set_ylabel('audio amplitude')
    ax.set_xlim([0, CHUNK-1])
    ax.set_ylim([-9999, 9999])
    ax.set_title('AUDIO')
    ax.plot(x, data_np, lw=1)

    return ax


if __name__ == "__main__":
    ani = FuncAnimation(fig, animate,  interval=20, blit=False)

每次输入此功能时,我都不想设置轴和标题的限制。但我也想清理以前的线图。如果我使用ax.cla()清除了前一个图,那么这将清除整个轴设置,如何保留轴设置,但只清除线图。

评论
  • 波哩瓶
    波哩瓶 回复

    ax.plot returns a list of all plotted lines (Artist instances), sou you can simply do:

    lines = ax.plot(x, data_np, lw=1)
    for line in lines:
        line.remove()