gnuplot:在绘图点后面绘制网格,在前面绘制抽签

时间:2018-10-20 12:38:32

标签: gnuplot

如果数据点在轴附近,我很难将网格线绘制在图形的后面,并且无法将轴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, 24的数据点之前,我在这里(gnuplot: fill area curve keeping tics on top)读到{{1} }命令应位于set tics front命令之前,如脚本所示。但是,这似乎覆盖了我为plot命令提供的选项back,即,网格也绘制在图形的顶部(当我运行{{1时,它甚至显示set grid }}执行完上述脚本后)。

当我交换Grid drawn at frontshow grid命令时,网格和抽签都被绘制在绘图点的后面,从而部分遮盖了主要抽签和次要抽签(请注意,则无论哪种情况,该轴仍会绘制在绘图点的顶部)。

任何人都可以帮助我,弄清楚如何使网格位于打印点后面,并在它们前面有刻度线(我认为这种绘制图形的方式最有意义,但这只是IMHO)?我也很好奇为什么set gridset tics命令似乎相互影响的起源。

如果这很重要,我正在OpenSUSE 42.3 LTS上使用gnuplot版本set tics

1 个答案:

答案 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   frontback控制是否将抽芯放置在后面或里面   情节元素的前端”。这是对的,但确实做到了   通过移动整个网格和tic,所以您无法   完全将tic和tic标签放置在网格线的前面。   解耦这两个操作,以便set tics {front|back}执行   仅记录在案。错误#1704

  •   
  • src / axis.c(gen_tics):“设置{*} tics范围限制”适用于未成年人   抽动以及主要抽动。错误#1705

  •