- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我对 MatPlotLib 的 FuncAnimation 函数有一些疑问。我无法将它配置到我的代码中...我希望有人能帮助我!!
这是一个扩散方程,我需要为时间的每一步绘制它。在每一步,计算的结果都是一个 numpy 数组。我设法用 pyplot.interactive(True) 以动态方式绘制它,但它非常慢。我读到 FuncAnimation 可以处理这个问题,但我没有设法让它处理列表或数组中的结果。
这是带有经典慢情节的代码:
它产生一个向量向量 (U),在所有计算之后绘制
import numpy as np
import scipy
from scipy.linalg import solve_banded
from matplotlib import pyplot as plt
import matplotlib.animation as animation
def DrawRecord(U):
plt.interactive(True)
plt.figure(1)
for i in range(0,len(U)):
plt.clf()
plt.plot(U[i])
plt.ylim([0,1])
plt.draw()
J=350.0
dt=0.01
T=3.0
t=np.arange(dt,T,dt)
dx=1.0/J
D=0.005
c=0.5
r=0.1
mu=c*dt/(2.0*dx)
lambd=D*dt/(dx**2.0)
K_x=50.0*np.ones(J-1)
alpha_t=0.5*np.ones(len(t))
#initial conditions
u=np.zeros(J)
u[J/5*1:J/5*2]=1
U=u
espace=np.linspace(0,1,J)
#Matrix
A=np.diag(-lambd*np.ones(J-2),1)+np.diag((1+2*lambd)*np.ones(J-1),0)+np.diag(-lambd*np.ones(J-2),-1)
AA=scipy.linalg.inv(A)
for i in t:
u[1:J]=scipy.dot(AA,u[1:J]+(r-alpha_t[i/dt])*dt*(u[1:J]-u[1:J]/K_x))
u[0]=0
u[J-1]=0
U=np.vstack([U,u])
DrawRecord(U)
下面是我尝试使用之前的代码来制作 FuncAnimation(大失败):
nb : U 包含为每个步骤计算的结果数组
global U
fig = plt.figure()
window = fig.add_subplot(111)
line, = window.plot(list(U[1,:]))
def init():
line=list(U[1,:])
return line
def animate(i):
line.set_ydata(list(U[i,:]))
return line
anim = animation.FuncAnimation(fig, animate, init_func=init,
frames=200, interval=20, blit=True)
plt.show()
这会产生很多错误......也许有人可以为以前的代码设置它!
我希望我清楚(对不起我的英语)并感谢您的帮助。
最佳答案
FuncAnimation 期望一个可迭代对象从 init 返回并更新
试试这个:
def init():
line.set_ydata(U[1,:])
return line,
关于python - 如何将 FuncAnimation(来自 matplotlib.animation 的动态绘图)配置为 numpy 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13387031/
我对此给出了答案thread ,谈论 matplotlib 上的褪色点。我对 ImportanceOfBeingErnest 的回答感到好奇。所以我尝试尝试他的代码。 首先,这是我的代码。 impor
我正在制作一个应该可视化传感器数据的应用程序。因此,我使用 python 和 tkinter 作为 gui 框架和 matplotlib 来可视化数据。该图应显示当前传感器值,因此它应该是动画的。但是
我对此给出了答案thread ,谈论 matplotlib 上的褪色点。我对 ImportanceOfBeingErnest 的回答感到好奇。所以我尝试尝试他的代码。 首先,这是我的代码。 impor
有谁知道停止 FuncAnimation 的首选方法吗?我用它来记录来自示波器的数据,并希望能够按需暂停和重新启动数据。有什么方法可以向它发送按钮点击事件吗? 谢谢,德里克 最佳答案 FuncAnim
下面的代码有效,但我认为每个重复周期都会过度绘制原始点。我希望它从原点开始,每个重复循环,有一个清晰的情节。在解决此问题的许多方法中,我尝试在 init 和 update 函数中插入 ax.clear
我试图从头开始模拟双星系统中行星的运动。为此,我需要能够在动画图中绘制点。在对整个事情进行编码之前,我正在学习使用 pyplot 为绘图设置动画。到目前为止,我还没有运气为移动点设置动画。在查看了几个
我正在尝试为机器人的链接设置动画但没有成功。 FuncAnimation 从不调用 animate 函数——从不执行打印语句。任何帮助将不胜感激。我的代码: def foo(): joints
我是 python 的新手,我正在尝试使用 matplotlibs FuncAnimation 制作动画并将其保存为某种视频格式。如果我运行以下代码: import numpy as np impor
我正在尝试用我计算的数据制作一部电影。我正在使用 ffmpeg 编写器。当我在 Spyder 中启动动画时,它工作正常并持续到最后,但当我尝试保存它时,它只持续动画的前 30%。我怎样才能保存整个动画
我想从不同的文件生成一系列动画线图的视频。下面是我的 python 代码的开始。我正在使用matplotlib.animation图书馆。 看起来像这样: 如何删除之前的绘图(一次显示一行),但保持相
我想构建一个带有某些实时图表的界面,显示一些实验的结果。为此,我决定结合使用glade(UI)、gtk、python 和 matplotlib。我正在学习一些基础知识,并且能够绘制一些实时图表。 现在
我正在尝试使用 FuncAnimation 模块制作动画,但我的代码只生成一帧然后停止。它似乎没有意识到它需要更新什么。你能帮我看看哪里出了问题吗? import numpy as np import
我使用 matplotlib 的 FuncAnimation 创建了表面绑定(bind)过程的简单动画。然而,结果非常缓慢。我怀疑这是因为我在每一帧重新绘制所有元素,但我还没有找到解决方法。任何帮助表
根据 matplotlib 的文档,FuncAnimation 重复调用一个函数来制作动画。 问题是,当没有更多图像数据可用时,我应该如何告诉 FuncAnimation() 停止? 最佳答案 如果您
如何将参数传递给animation.FuncAnimation()?我试过了,但没用。 animation.FuncAnimation() 的签名是 class matplotlib.animatio
浏览了一些关于 matplotlib 动画的教程并遇到了这个问题。我正在使用 matplotlib.animation funcanimation 如下: import matplotlib.anim
我正在尝试使用 Matplotlib 的 FuncAnimation 来动画显示每帧动画中的一个点。 # modules #--------------------------------------
我想弄清楚是否有任何方法可以更改现有 matplotlib FuncAnimation 的间隔。我希望能够根据用户输入调整动画的速度。 我发现了一个类似的问题 How do I change the
我在 Matplotlib 中遇到动画缓慢的问题。我正在对模拟结果进行动画处理,这是最简单的可视化方式,其中包含一系列随时间改变颜色的矩形。 遵循建议 here ,我使用 blitting 仅绘制每帧
我制作了一个脚本,它使用 matplotlib 的 FuncAnimation 函数来为抛物面函数的一系列等高线图设置动画。我想添加一个颜色条,其范围在整个动画过程中都不会改变。我真的不知道该怎么做。
我是一名优秀的程序员,十分优秀!