【发布时间】:2018-08-07 13:51:24
【问题描述】:
以下 gif 是使用 gnuplot 和 Fortran 创建的。但是,现在我想只使用 Python 来做同样的事情(主要是 matplotlib 的动画形式)。
我可以使用 Python 生成 gif,但我不知道如何生成类似右侧 gif(您还绘制最后 100 个点)之类的东西,即相空间中的演变。
我们将不胜感激,
谢谢
gif 的 Gnuplot 代码:
set term gif size 1000,600 animate delay 1000 loop 0
set output "animacio.gif"
cd 'C:\Users\Usuario\Desktop'
datafile ="P7-1718-b-res.dat"
do for[i=1:5000:10]{
set multiplot
set size 0.5,0.8
set origin 0.0,0.0
set title "Evolució de l'angle girat i velocitat angular (t)"
set xrange[0:50]
set yrange[-pi:pi]
set xlabel "t (s)"
set ylabel "Angle girat, v_{ang}"
set key below
plot datafile index 9 every ::1::i with line linewidth 4 t"Posició angular" ,datafile index 9 every ::1::i u 1:3 with line linewidth 4 t"V_{ang}"
set origin 0.5,0
set size 0.5,0.8
set title "Evolució en l'espai de fases"
set yrange[-pi:pi]
set xrange[-pi:pi]
set xlabel "Angle girat(rad)"
set ylabel "Velocitat angular(rad/s)"
set key below
if (i>101) {
plot datafile index 9 every::i::i u 2:3 t"" ps 3,datafile index 9 every::i-100::i u 2:3 w l t"" }
else {
plot datafile index 9 every::i::i u 2:3 t"" ps 3}
unset multiplot
}
并假设您的数据在索引 9 处有三行(时间、位置、角速度)。
【问题讨论】:
-
你需要显示你用来绘制这些的代码。
-
虽然您可能很幸运,在这种情况下有人可以将您的完整代码翻译成其他语言,但通常需要将您的问题限制在特定问题上;这意味着显示您遇到问题的 python 代码,并明确说明您需要帮助的地方。
标签: python animation matplotlib gif