我试图在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”命令现在出现了参数曲线绘图的问题。
有没有人知道解决方法?圆形对象对我没用:我对一般曲线感兴趣。谢谢!
答案 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上的隐式绘图范围混为一谈。