Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用matplotlib';什么是动画?_Python_Matplotlib_Animation - Fatal编程技术网

Python 如何使用matplotlib';什么是动画?

Python 如何使用matplotlib';什么是动画?,python,matplotlib,animation,Python,Matplotlib,Animation,我正在尝试创建一个动画图形,用于在一个图形中显示随时间推移而出现的数万个数据点。使用blit=True避免每帧重绘所有内容,如果不告诉它每帧重绘所有内容,则无法工作-我只想绘制新的数据点 两者都不是,也不回答这个问题,因为我想添加新的美工师,而不仅仅是用set\u offset更新现有美工师,这会强制重新绘制每个点。该公司表示,它确实支持新的艺术家: func必须返回修改或创建的所有美工人员的iterable 我在macOS 10.13和RHEL7上运行matplotlib 3.1.1-MacO

我正在尝试创建一个动画图形,用于在一个图形中显示随时间推移而出现的数万个数据点。使用
blit=True
避免每帧重绘所有内容,如果不告诉它每帧重绘所有内容,则无法工作-我只想绘制新的数据点

两者都不是,也不回答这个问题,因为我想添加新的美工师,而不仅仅是用
set\u offset
更新现有美工师,这会强制重新绘制每个点。该公司表示,它确实支持新的艺术家:

func必须返回修改或创建的所有美工人员的iterable

我在macOS 10.13和RHEL7上运行matplotlib 3.1.1-MacOSX后端对我来说根本无法使用blitting,因此在该系统上手动选择TkAgg:

导入matplotlib
在macOS上使用matplotlib(“TkAgg”)#
将matplotlib.animation导入为动画
将matplotlib.pyplot作为plt导入
定义动画(n):
分散=ax1。分散([n],[n])
返回[分散]
图=plt.图()
ax1=图add_子批次(111)
ax1.set_xlim(0,20)
ax1.set_ylim(0,20)
ani=animation.FuncAnimation(图,动画,间隔=100,blit=True)
plt.show()
但运行此操作时,图形上仅保留最后绘制的数据点:


如何使用blitting编写新的数据点,而不在每一帧中绘制所有内容?

查看此处()和此处()。是的,我查看了这两个,它们都回答了不同的问题。他们两人都不处理a)布告或b)增加新的艺术家。如果我更新一个现有的艺术家,所有的X0000点都会在每一帧重新绘制,这很快就会变得非常缓慢。我更新了这个问题,希望能让问题更清楚,这两个问题都没有真正回答它,只需回答一个关于同一主题的不同问题,那么下面的问题对你有用吗<代码>导入matplotlib.animation作为动画导入matplotlib.pyplot作为plt def animate(n):scatter=ax.scatter(n,n)如果n==0:返回ax.get_children()[0],否则:返回ax.get_children()[:n]fig,ax=plt.subpllots()ax.set_xlim(0,20)ax.set_ylim(0,20)animation=animation.FuncAnimation(fig,animate,interval=100,blit=True)plt.show()经过进一步的研究,我认为这实际上不可能像我所希望的那样-我潜入动画代码,它故意将轴清除回原始的每一帧。看起来标准动画类只是用于在复杂的基础上绘制。我有一个它工作的例子,这就是为什么我认为它是可能的,b但我认为这是无意中引起了一次刷新。当我更确定一点时,我会自我回答。