使用gnuplot进行参数迭代绘图

3
我想在gnuplot中使用迭代的绘图函数plot for进行参数绘图。
set parametric
f(x) = x
plot for [i=1:2] t,f(i*t)

然而,正如我在这个问题中学到的那样,for迭代在逗号后结束。因此,迭代只适用于t而不适用于f(i*t)。但是,由于参数绘图需要一对用逗号分隔的函数,我该如何告诉gnuplot迭代地绘制我的参数绘图呢?

1
我不知道,但是在 版本5.0补丁级别3 上似乎可以工作。 - bibi
很遗憾,在gnuplot 4.6中它无法工作。 - thyme
1个回答

2

你真的尝试过吗?gnuplot在参数坐标和所谓的“plot-element”(可以包含一个for-loop)的结尾处区分逗号:这只是通过计算给定坐标数来完成的。

例如:

set parametric
set size ratio -1
plot for [i=1:3] cos(t),i*sin(t) title "Ellipse ".i, \
     for [i=1:3] i*cos(t),i*sin(t) title "Circle ".i

如果您进行

plot for [i=1:3] cos(t),i*sin(t),i*cos(t),i*sin(t)

然后您保留3个省略号(包括当i=1时的圆),并从最后一对坐标中绘制一个圆以表示=3(在for循环之后保留了i的值)。


你使用的是哪个gnuplot版本?我有gnuplot 4.6,但似乎在那里无法工作。 - thyme
我有gnuplot 5,但这也适用于版本4.6(补丁级别6),它应该适用于版本> = 4.4。请详细说明“似乎无法工作”的内容。在第一种情况下,您应该获得6个椭圆/圆(其中椭圆1和圆1相同),在第二种情况下为3个椭圆(其中1个是圆)和1个大圆(半径为3)。 - Joce NoToPutinsWarInUkraine

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接