如果数据点在轴附近,我很难将网格线绘制在图形的后面,并且无法将轴tic标记保持在它们的前面。
考虑这些示例数据,命名为“ t_data”:
0 1
1 3
1.8 0
3 5
4 0
5 2
和此脚本:
reset session
set terminal pdfcairo enhanced color font "Arial,10" size 7.5cm,6cm
set output "t_graph.pdf"
set style line 1 lc rgb "#ff0000" lw 1 pt 5 ps 0.5 pi -1
set pointintervalbox 0.7
unset key
unset title
unset border
set border 3
set xrange [0:5]
set yrange [0:*]
set xtics border nomirror out font "Arial,9"
set ytics border nomirror out font "Arial,9"
set mxtics 5
set mytics 5
set xlabel "x"
set ylabel "y"
set grid xtics mxtics ytics back lt -1 lw 1 lc rgb "#808080", lt -1 lw 1 lc rgb "#808080" dt 2
set tics front
plot "t_data" u 1:2 w lp ls 1
set out
为了使标记在x=0, 2
和4
的数据点之前,我在这里(gnuplot: fill area curve keeping tics on top)读到{{1} }命令应位于set tics front
命令之前,如脚本所示。但是,这似乎覆盖了我为plot
命令提供的选项back
,即,网格也绘制在图形的顶部(当我运行{{1时,它甚至显示set grid
}}执行完上述脚本后)。
当我交换Grid drawn at front
和show grid
命令时,网格和抽签都被绘制在绘图点的后面,从而部分遮盖了主要抽签和次要抽签(请注意,则无论哪种情况,该轴仍会绘制在绘图点的顶部)。
任何人都可以帮助我,弄清楚如何使网格位于打印点后面,并在它们前面有刻度线(我认为这种绘制图形的方式最有意义,但这只是IMHO)?我也很好奇为什么set grid
和set tics
命令似乎相互影响的起源。
如果这很重要,我正在OpenSUSE 42.3 LTS上使用gnuplot版本set tics
。
答案 0 :(得分:3)
我认为这在Gnuplot的5.0.2
版本中已解决。相应的Changelog状态:
2015-11-09伊桑·梅里特(Ethan A Merritt)
src / axis.c src / axis.h src / graphics.c src / save.c src / set.c src / show.c src / unset.c:该文档说“设置tic
front
或back
控制是否将抽芯放置在后面或里面 情节元素的前端”。这是对的,但确实做到了 通过移动整个网格和tic,所以您无法 完全将tic和tic标签放置在网格线的前面。 解耦这两个操作,以便set tics {front|back}
执行 仅记录在案。错误#1704src / axis.c(gen_tics):“设置{*} tics范围限制”适用于未成年人 抽动以及主要抽动。错误#1705