不知道你的源代码长啥样的,没法有针对性地回答了。
可以考虑设置ax.grid(False)
或者参考以下代码
[Python] 纯文本查看 复制代码 # -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig, ax = plt.subplots() #假如是fig = plt.plot()则不行,创建fig的时候携带了一个ax作为更迭基础
x = np.arange(0, 2*np.pi, 0.01) #此两步假如不直接程序执行而是每行顺着执行则会留下一固定的图线轨迹
line, = ax.plot(x, np.sin(x)) #说明直接执行程序时画图从animation语句开始,此两句其实作为整个序列的一部分?
def init(): # only required for blitting to give a clean slate.
line.set_ydata([np.nan] * len(x)) #重置了可变图线line的全部y值为nan
return line,
def animate(i):
line.set_ydata(np.sin(x + i / 100)) # update the data. 经过一个i,animate处理line图像的的y为新的值
return line,
ani = animation.FuncAnimation(
fig, animate, init_func=init, interval=2, blit=True, save_count=50) #如果这个地方blit改成False,还是能运行但是很慢
#fig,ax语句创建了一个带有更新性质的画布,init引入【对动画中的变化目标】进行初始化,animate更新【变化目标】
#interval是动画呈现的时间间隔,blit是是否进行清楚的卡门指标
# To save the animation, use e.g.
#
# ani.save("movie.mp4")
#
# or
#
# from matplotlib.animation import FFMpegWriter
# writer = FFMpegWriter(fps=15, metadata=dict(artist='Me'), bitrate=1800)
# ani.save("movie.mp4", writer=writer)
plt.show() |