【问题标题】:gnuplot grid remove grid from axes linesgnuplot grid 从轴线中删除网格
【发布时间】:2019-02-26 08:09:00
【问题描述】:

gnuplot 甚至在轴上添加网格线,这会导致不愉快的效果:

set logscale x
set xrange [0.01:100]
set xtics font ",12"
set x2tics font ",12"
set mxtics 10
set ytics font ",12"
set y2tics font ",12"
set grid xtics mxtics ytics lt 0 lw 3, lt 0 lw 0.5 behind
set grid
plot sin(x)

特别是如果将上面的内容绘制到eps,看起来在 x 轴上有对数间隔和线性间隔的抽动。有什么好方法可以消除轴上的网格线吗?一种解决方法是使轴更厚,但这不是我想要的方式。我真的很想删除那些网格线。

解释我的意思

图中看到的直线间隔的抽动实际上是虚线网格,所以和抽动没有关系...

【问题讨论】:

    标签: gnuplot


    【解决方案1】:

    如图所示,沿 x 有 对数和线性抽动。这是因为 x 轴和 x2 轴都对顶部和底部边界产生了抽动。你可以关闭它

    set tics nomirror
    

    您是在问如何使抽动的范围小于轴的范围?在你展示的情节中,那将是

    set yrange [-1:1]
    set ytics -0.8, 0.2, 0.8
    set ytics add (-1 2, 1, 2)
    

    最后一个命令在 y=-1 和 y=1 处添加回显式抽动,而不生成相应的网格线。请参阅set xtics list 的文档

    【讨论】:

    • 如果您查看我发布的图像,这些是 x 轴上的抽动。看一下上面 10 的 tic。在该 tic 的右侧(以及左侧),有非常短的垂直线,它们是线性分开的并跨越整个 x 轴。它们不是抽动(它们比mxtics 短),它们是与x 轴重合的网格线的一部分(set grid)。在这种特殊情况下,网格的线类型和线的类型是这样的,即使它在背景中(在 x 轴后面,由set grid xtics mxtics ytics lt 0 lw 3, lt 0 lw 0.5 behind 设置)也是可见的。
    • 问题是如何去掉与x1,x2,y1,y2 轴线重合的网格线。更改绘制轴的线条样式是不好的解决方案。更好的解决方案是禁用网格线并手动添加水平线作为绘图y=... 和垂直线作为set arrow,这在某些情况下是令人难以置信的工作量。
    • 你试过我建议的命令了吗?网格线仅在轴 tic 的位置绘制。通过从图中删除最终轴 tic,它也删除了该网格线。
    • 我做到了,但是这些对错过底部和顶部的 y 抽动会产生不愉快的影响,这使得情节看起来很糟糕,1 和 -1 应该绘制在 y 轴上......
    • 好吧,将它们添加回不触发网格线的 tic 级别。 0级生成主要抽动和主要抽动网格线,1级生成次要抽动和次要抽动网格线,2级及以上不生成网格线。 (添加到答案)
    猜你喜欢
    • 1970-01-01
    • 2018-09-27
    • 2021-11-05
    • 2015-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多