【问题标题】:gnuplot : Can the splot command generate impulses in the x-y plane?gnuplot : splot 命令可以在 x-y 平面上产生脉冲吗?
【发布时间】:2017-03-24 20:38:53
【问题描述】:

有谁知道 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 轴到第三个(绿色)图的冲动 - 或类似箭头的东西。

提前致谢。

【问题讨论】:

  • 运行代码会得到undefined variable: u
  • @RolandSmith 好吧,你需要set parametric

标签: gnuplot


【解决方案1】:

蓝色图表绘制的,但与您预期的不同。尝试将 0 更改为例如0.1:

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

impulses 无法实现您想要的。

你也许可以适应这个filledcurvesexample from gnuplotting.org

【讨论】:

    【解决方案2】:

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

    我可以使用相同的无头箭头方法模拟蓝色图的脉冲,但我从图像中省略了它以帮助视觉清晰。因此,虽然脉冲似乎不能用于垂直以外的任何方向,但箭头可以用于相同的效果!

    虽然这张图片很好地展示了欧拉公式,但我认为随着 Theta 的增加,使用 3D 的“飞来飞去”的情节可以实现更好的效果。

    我用来实现绿色箭头的 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。

    我希望有人觉得这有帮助!

    【讨论】:

      猜你喜欢
      • 2015-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-20
      • 1970-01-01
      相关资源
      最近更新 更多