gnuplot:splot命令可以在x-y平面上产生脉冲吗?

时间:2017-03-05 08:54:04

标签: gnuplot

有没有人知道splot命令是否可以用来在x-y平面上产生脉冲?

例如,我有以下gnuplot代码段;

splot \
\
u, 0,       cos(u) linecolor "red"     notitle with impulses, \
u, sin(u),  0      linecolor "blue"    notitle with impulses, \
u, sin(u),  cos(u) linecolor "green"   notitle

第一个(红色)图成功地在x-z平面中产生脉冲,即垂直方向的脉冲。然而,第二个(蓝色)曲线不会像我想的那样在x-y平面上产生脉冲,即水平方向的脉冲!有谁知道如何做到这一点?此外,是否有人知道是否可以使用任何gnuplot迭代命令来执行此操作?理想情况下,我希望从x轴到第三(绿色)图也有冲动 - 或类似箭头的东西。

提前致谢。

2 个答案:

答案 0 :(得分:1)

蓝色图表,但不像您期望的那样。尝试将0更改为例如0.1:

Example plot

原因是在3D绘图中,impulses样式总是将z = 0的线绘制成实际的z值。

impulses无法实现您的目标。

您可以调整此filledcurves example from gnuplotting.org

答案 1 :(得分:0)

使用gnuplot生成以下图像。从x轴向外辐射的绿线(图像中的Theta轴)使用无头箭头实现。

3D visual representation of Euler's formula.

我可以使用相同的无箭头方法模拟蓝色情节的冲动,但我已经从图像中省略了它以帮助视觉清晰度。因此,虽然看起来冲动不能用于垂直以外的任何方向,但箭头可以用于同样的效果!

虽然这张图片提供了欧拉公式的良好视觉表现,但我认为使用3D"飞行"可以实现更好的视觉效果。随着Theta的增加,情节也随之增加。

3D "fly-around" of Euler's formula.

我用来实现绿色箭头的gnuplot代码就是这样;

set \
\
for [x_new = 0:max_plot_index] \
\
arrow from (x_new * plot_inc),0,0 to (x_new * plot_inc),sin(x_new * plot_inc),cos(x_new * plot_inc) linecolor "green" nohead

其中max_plot_index为"飞行"的每一帧增加1动画和plot_inc设置为(4 * pi)/ 100。

我希望有人觉得这很有用!