0
Pythonで文字列をアニメーションしようとすると、私のコードは問題ないと思いますが、ファイルライターには問題があります。私のコードは、(https://jakevdp.github.io/blog/2012/08/18/matplotlib-animation-tutorial/をオフに基づいて)されていますPythonのFFMPEGファイルライター2.7
現在のエラーメッセージRuntimeError: Passing in values for arguments for arguments fps, codec, bitrate, extra_args, or metadata is not supported when writer is an existing MovieWriter instance. These should instead be passed as arguments when creating the MovieWriter instance.'
を取得
import numpy as np
import scipy as sci
import matplotlib.pyplot as plt
import matplotlib.animation as animation
plt.rcParams['animation.ffmpeg_path'] = 'C:\FFMPEG\bin\ffmpeg'
s1=10.15
gamma=(np.pi*np.sqrt(2))/2
gamma=sci.special.jn_zeros(0,10)
gamma1=gamma[9]
gamma2=gamma[8]
print gamma1,gamma2
sigma=np.linspace(0,2*s1,10000)
def xprime(sigma,t):
alpha = gamma1*(np.cos(np.pi*t/s1)*np.cos((np.pi*sigma)/s1))
beta = gamma1*(np.sin(np.pi*t/s1)*np.sin((np.pi*sigma)/s1))
xprime=np.cos(alpha)*np.cos(beta)
return xprime
def yprime(sigma,t):
alpha = gamma2*(np.cos(np.pi*t/s1)*np.cos((np.pi*sigma)/s1))
beta = gamma2*(np.sin(np.pi*t/s1)*np.sin((np.pi*sigma)/s1))
yprime=np.cos(alpha)*np.sin(beta)
return yprime
fig = plt.figure()
ax = plt.axes(xlim=(-0.4, 0.4), ylim=(-3, 3))
line, = ax.plot([], [], lw=2)
def init():
line.set_data([], [])
return line,
def animate(i):
sigma=np.linspace(0,2*s1,10000)
t = (i*2*s1)/200
yint=sci.integrate.cumtrapz(yprime(sigma,t),sigma)
xint=sci.integrate.cumtrapz(xprime(sigma,t),sigma)
line.set_data(xint, yint)
return line,
anim = animation.FuncAnimation(fig, animate, init_func=init,
frames=200, interval=20, blit=True)
FFwriter=animation.FFMpegWriter()
anim.save('basic_animation.mp4', writer=FFwriter, fps=30, extra_args=['-vcodec', 'libx264'])
plt.show()
私は私のエラーがFFMPEGファイルの呼び出しまたは配置しているが、私は「何か不明だと思います私は間違っている。おそらく非常にはっきりしていますが、現時点でそれを見ることはできません。エラーメッセージが実際に何を意味するのかは不明です。
進捗状況!今私はWindowsエラー 'WindowsErrorを取得する:[エラー2]システムは、指定されたファイルを見つけることができません'これは、FFMpegファイルの私の配置と考えることです – byBanachTarskiIamcorrect
はい、あなたのファイルが今どこに関連する異なるエラーですコードは動作します:P – lapinkoira