我正在尝试设置一个向量的动画,比如Python中的wind。我试着用箭袋
在pylab中的功能以及与matplotlib.animation文件从
matplotlib。但是,结果显示“QuiverKey”对象不是
可下标’。我想那是因为我不完全了解
这两个函数或者只是这两个函数不匹配。下面是
我的代码,它实际上是箭袋和动画功能的结合
从matplotlib。
def update_line(num, data, line):
line.set_data(data[...,:num])
return line,
X,Y = np.meshgrid(np.arange(0,2*np.pi,.2),np.arange(0,2*np.pi,.2) )
U = np.cos(X)
V = np.sin(Y)
fig1 = plt.figure()
Q = quiver( X[::3, ::3], Y[::3, ::3], U[::3, ::3], V[::3, ::3],
pivot='mid', color='r', units='inches' )
data = quiverkey(Q, 0.5, 0.03, 1, r'$1 \frac{m}{s}$', fontproperties={'weight': 'bold'})
plt.axis([-1, 7, -1, 7])
title('scales with plot width, not view')
l, = plt.plot([], [], 'r-')
plt.xlabel('x')
plt.ylabel('y')
plt.title('test')
line_ani = animation.FuncAnimation(fig1, update_line, 25, fargs=(data, l),
interval=50, blit=True)
plt.show()
下面是一个让您开始学习的示例:
import numpy as np
from matplotlib import pyplot as plt
from matplotlib import animation
X, Y = np.mgrid[:2*np.pi:10j,:2*np.pi:5j]
U = np.cos(X)
V = np.sin(Y)
fig, ax = plt.subplots(1,1)
Q = ax.quiver(X, Y, U, V, pivot='mid', color='r', units='inches')
ax.set_xlim(-1, 7)
ax.set_ylim(-1, 7)
def update_quiver(num, Q, X, Y):
"""updates the horizontal and vertical vector components by a
fixed increment on each frame
"""
U = np.cos(X + num*0.1)
V = np.sin(Y + num*0.1)
Q.set_UVC(U,V)
return Q,
# you need to set blit=False, or the first set of arrows never gets
# cleared on subsequent frames
anim = animation.FuncAnimation(fig, update_quiver, fargs=(Q, X, Y),
interval=50, blit=False)
fig.tight_layout()
plt.show()
虽然canvas的API并未直接提供支持动画的方法,但就其本身而言,在canvas中实现动画效果也很简单:只需要持续的更新并重绘画布就行了。这种持续的更新并重绘就叫做动画循环,它是所有动画的核心逻辑。 在canvas中实现动画,首先需要初始化画布上的对象。然后,启动一个动画循环来更新画布、清除画布、重绘画布,再请求下一个新的动画帧。Canvas动画的基本原理如图 4‑36 所示: 图4-36 ca
我是Android新手,需要建议。我有一个带有多个ImageView的GridLayout。每个ImageView都有一个可绘制的背景色。在单击按钮时,我想根据用户的输入设置两件事的动画:1)将整个视图移动到新位置(这一部分很清晰,不会造成问题),2)仅将图像的可绘制部分移动到新单元格,将背景色保留在原始位置。我完全被困在第二项任务上。如何使用动画移动可绘制的内容?谢谢你的帮助。
问题内容: 我开始使用Python(和OOP)进行编程,但是我对Fortran(90/95)和Matlab编程有丰富的经验。 我正在开发一个在tkinter环境上使用动画的小工具。该工具的目标是为多线动画(数组而不是数据向量)。下面是我的问题的一个简单示例。我不明白为什么这两种数据绘制方法的结果如此不同? 如果仅绘制“ dline”,则每条线将分别绘制并使用不同的颜色。如果仅绘制“ mline”,
本文向大家介绍canvas绘制的直线动画,包括了canvas绘制的直线动画的使用技巧和注意事项,需要的朋友参考一下 话不多说,请看代码: 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!
问题内容: 我正在尝试制作粒子轨迹的视频。但是,我的场景以某种方式从未更新过。这是一个非常简单的示例: 如果运行此脚本,它将显示一个包含两个点和动画GUI的窗口。它还在终端上打印连续的“正在更新场景…”消息流。但是,场景根本不显示任何运动。 我究竟做错了什么? Python 2.7,Mayavi 4.1,VTK 5.8 问题答案: 只需更改为: … … 您甚至不需要,根据说明文件,可以 保证刷新。
有没有可能通过它们的方程式在画布中画出曲线呢?如果是,怎么做?假设我有一个数学方程y=0,5*x^2,如何打印方程的图形? 我尝试使用和方法,但未成功。
问题内容: 这是我的代码,我无法跳出while(!done)函数 使用XFlush(d)可以显示显示窗体缓冲区,并且在XCloseDisplay(d)之前不会消失 我想像这样画画线 g ++ -o youname youcppname -lX11 问题答案: 我不太确定为什么XFlush不起作用,但这是事件循环和冲洗的混合体。它等待暴露事件,绘制字符串并退出循环。 5秒钟后,它将取消映射窗口,然后
我编写了这段代码,可以在JavaFX画布上绘制。它可以很好地工作,但我不知道如何重新绘制画布(比如在Swing中),以便在新画布上重新开始绘制。这是我的代码,非常感谢你的帮助!马里奥