使用鼠标在 gnuplot 中旋转动画图像

rotate an animated image in gnuplot with the mouse

我使用 gnuplot 创建了一些 3D 动画 gif。我无法在 gif 中查看所有绘制的数据。

使用 'set view' 命令不是最佳选择,因为绘图是自动进行的,而且数据因绘图而异,因此一个视图可能适用于一组数据,但不适用于另一组数据数据。

我认为让用户使用 his/her 鼠标旋转轴以查看不同角度会很好。我知道这在例如 x11 终端中是可能的,但是可以用 gif 来完成吗?也许可以使用 canvas 终端和 JavaScript.

另一个选项可能是自动绕轴旋转图像,这样当它加载时它已经在旋转,并且随着数据的动画而继续旋转。

有没有办法在 gnuplot 中做到这一点?

你的第二个选项是可行的。您可以在每次迭代中设置视角。

set terminal gif animate delay 5 loop 0 optimize
set output "rot.gif"

unset surface
set pm3d at s

set label "sin(x)" at screen 0.7, 0.9

n = 100
do for [i=1:n] {
   set view 60, i*360/n
   splot sin(x) notitle
}

set output

备注:

  • 关键是从一个迭代到另一个迭代,所以我用一个固定的标签代替了它。
  • i*360/n 在一个完整的动画中创建一个完整的情节旋转