如何在gnuplot中设置网格间距

9

我有一个y轴从0到100。我想在每10个单位后绘制一条网格线。我该怎么做?也就是说,我如何在每10个单位后绘制网格线?

2个回答

11

看一下“帮助网格”,你可能想要做类似这样的事情:

set yrange [0:100]
set xrange [0:10]

set grid ytics mytics  # draw lines for each ytics and mytics
set mytics 2           # set the spacing for the mytics
set grid               # enable the grid

plot sin(x)*100

我记得有一个参数可以使这些网格更加规则。然而,我在help中找不到这样的描述。你知道是否可能吗? - Léo Léopold Hertz 준영
1
不确定您说的“更加固定”的意思是什么?默认情况下,它们位于刻度级别上,通常间距相等...您可能需要调整您的 [xy] 轴范围以使顶部和底部网格线与轴间距得当,但除此之外我不知道您指的是什么... - Arun
我想这里的意思是 网格次要; - Léo Léopold Hertz 준영
1
就像我给出的例子一样,您可以设置m[x|y|...]tics来获取子间距。请参考我给出的例子,其中y轴从0到100,每10个为一个网格间距。 - Arun
@Arun,我该如何让gnuplot在每个第二个小刻度上显示?例如,x轴有0 0.25 0.50 0.75 1.00,我想要在0和1.00处显示主网格线,在0.5处显示虚线网格线,而0.25和0.75则没有网格线。 - 3kstc
我不认为gnuplot能做到那样的事情,但我可能错了。我认为你只有xtics和mxtics,你可以在这些上面无处不在地拥有网格线或没有。一种欺骗的方法是设置x2tics和mx2tics,通过将它们设置为空字符串来隐藏标签,然后使用不同的mx2tics间距,在mx2tics上绘制子网格。虽然我还没有尝试过,但这应该可以工作。你会在图的顶部看到不同的mtics和底部不同。 - Arun

3
变量控制刻度值的打印频率或稀疏程度,从而绘制出网格线。
set ytics 10  # y scale marks and values will be at every 10th unit
set grid      # grid turned on at each scale values
replot        # replot your graph

mytics 控制 y 轴上的小刻度。使用 set grid mytics 可以显示 y 轴的小网格线。


你的回答被标记为低质量,因为它主要是代码。请尝试更详细地解释你的答案。 - Derek Brown

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