用gnuplot改变圆圈(半径)和时间位置

时间:2016-01-26 16:42:37

标签: gnuplot

我需要你的帮助。

我正在尝试绘制4个圆,这些圆具有定义的半径和它们之间的定义距离。距离和半径随时间变化。前两个圆圈应该是同心圆的,剩下的两个圆圈也是。

由于我想用这个制作动画,我需要圆圈之间距离的中点是原点(0,0)

所以我的文件看起来像这样

time radius1 radius2 radius3 radius4 orb-sep
  1      1       1       1      1       1
  2      2       2       1      1       2
  3      2.1     2.2     1.5    1.02    3
  4      1.6     2.1     1.4    1.01    2.5
  ...     ...    ...     ...    ....    ...

这可能吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

要绘制圆圈,请使用circles绘图样式。要计算x位置,请使用表达式using (-$6*0.5):...,它使用第六列中负值的一半x值。可以使用every

在迭代期间选择绘制的值
unset key
do for [i=0:9] {
plot 'file.txt. using (-0.5 * $6):(0):2 every ::i::i with circle,\
    '' using (-0.5 * $6):(0):3 every ::i::i with circle,\
    '' using (0.5 * $6):(0):4 every ::i::i with circle,\
    '' using (0.5 * $6):(0):5 every ::i::i with circle
    pause 1
}