如何在gnuplot中绘制垂直线?

时间:2010-12-16 02:50:11

标签: gnuplot

E.g。如果我有一个图表,并希望沿X轴每10个单位添加垂直线。

5 个答案:

答案 0 :(得分:43)

以下是我的perl脚本中的代码段:

print OUTPUT "set arrow from $x1,$y1 to $x1,$y2 nohead lc rgb \'red\'\n";

正如你可能从上面猜到的那样,它实际上是一个“无头”的箭头。

答案 1 :(得分:27)

来自Gnuplot文档。要在x = 3处从图的底部到顶部绘制垂直线,请使用:

set arrow from 3, graph 0 to 3, graph 1 nohead

答案 2 :(得分:13)

或者您也可以这样做:

p '< echo "x y"' w impulse

x和y是绘制垂直条的点的坐标

答案 3 :(得分:9)

您可以将grid功能用于第二个未使用的轴x2,这是绘制一组常规间隔线的最自然方式。

set grid x2tics
set x2tics 10 format "" scale 0

通常,网格绘制在与轴上的抽搐相同的位置。如果线的位置与抽搐位置不对应,gnuplot会提供一组额外的抽搐,称为x2ticsformat ""scale 0隐藏了x2tics,因此您只能看到网格线。

您可以像linewithlinecolor一样照常设置线条。

答案 4 :(得分:0)

要详细说明以前有关“每个 x 个单位”部分的答案,请参考以下内容:

# Draw 5 vertical lines
n = 5

# ... evenly spaced between x0 and x1
x0 = 1.0
x1 = 2.0
dx = (x1-x0)/(n-1.0)

# ... each line going from y0 to y1
y0 = 0
y1 = 10

do for [i = 0:n-1] {
    x = x0 + i*dx
    set arrow from x,y0 to x,y1 nohead linecolor "blue" # add other styling options if needed
}