E.g。如果我有一个图表,并希望沿X轴每10个单位添加垂直线。
答案 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会提供一组额外的抽搐,称为x2tics
。 format ""
和scale 0
隐藏了x2tics,因此您只能看到网格线。
您可以像linewith
,linecolor
一样照常设置线条。
答案 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
}