在gnuplot中使用参数图进行循环

时间:2014-01-03 02:14:44

标签: gnuplot

我试图在gnuplot 4.6中绘制多条参数曲线。

在早期版本(4.4?)中,命令

set para

plot [-pi:pi] for [a=1:10] a*cos(t),a*sin(t)

将导致十个圆心在原点居中,半径为1,2,...,10。在4.6中,结果是一个半径为1的圆。

4.6,命令

unset para

plot [-pi:pi] for [a=1:10] a*sin(x)

产生十条美丽的正弦曲线。

因此,我认为“for”命令现在出现了参数曲线绘图的问题。

有没有人知道解决方法?圆形对象对我没用:我对一般曲线感兴趣。谢谢!

1 个答案:

答案 0 :(得分:3)

参数模式和迭代之间的语法歧义是当前gnuplot版本中记录的错误/限制。在开发版本(4.7)中,不需要单独的参数模式,因为可以在通用绘图命令中明确描述所需的采样变量:

plot for [a=1:10] [t=-10:10] '+' using (a*sin(t)):(a*cos(t))

不幸的是,版本4.6中没有完全通用的语法。我能想到的最接近的变体是:

unset parametric
plot for [a=1:10] '+' using (a*sin($1)):(a*cos($1))

这适用于您的示例案例,但可能不足以满足您的实际用例,因为它将参数变量的采样范围与x上的隐式绘图范围混为一谈。