0

正如标题所说,我想找到一种方法来控制xticsinmultiplot模式。输出如下 在此处输入图像描述 前两行显示的图都可以。但是,以下三个人遇到了同样的问题。x 轴上的数字彼此非常接近,并且在某些情况下重叠。那么,有没有办法解决这个问题?所有输入都是从外部数据文件中读取的,我无法事先知道 t 的最大值是多少,以便set xrange [0:max]在每个图中然后控制 xtics。顺便说一句,gnuplot 中是否可以在绘图阶段之前读取外部数据文件并定义每个绘图中 t 的最大值?提前谢谢了。

编辑

用于产生上述输出的脚本如下:

reset

set term postscript eps enhanced "Helvetica" 20 size 7in, 11in
set output 'plots.eps'

set size 1,1

set multiplot layout 4, 2

unset key

# plotting the time-evolution of the mLCN
set xrange [*:*]
set xlabel 't'
set ylabel 'mLCN'
plot "hh.rli" u 1:3 w l lc rgb 'black'

# plotting the time-evolution of the RLI
set xrange [*:*]
set xlabel 't'
set ylabel 'log(RLI)'
plot "hh.rli" u 1:(log10($2)) w l lc rgb 'black'

# plotting the time-evolution of the FLI
set xrange [*:*]
set xlabel 't'
set ylabel 'log(FLI)'
plot "hh.fli" u 1:(log10($2)) w l lc rgb 'black'

# plotting the time-evolution of the OFLI
set xrange [*:*]
set xlabel 't'
set ylabel 'log(OFLI)'
plot "hh.fli" u 1:(log10($3)) w l lc rgb 'black'

# plotting the time-evolution of the SALI
set xrange [*:*]
set xlabel 't'
set ylabel 'log(SALI)'
plot "hh.sali" u 1:(log10($2)) w l lc rgb 'black'

# plotting the time-evolution of the GALIs
set xrange [*:*]
set xlabel 't'
set ylabel 'log(GALIs)'
plot "hh.gali" u 1:(log10($2)) w l lt 1 lc rgb 'green',\
     "hh.gali" u 1:(log10($3)) w l lt 1 lc rgb 'red',\
     "hh.gali" u 1:(log10($4)) w l lt 1 lc rgb 'blue'

# plotting the time-evolution of the MEGNO
set xrange [*:*]
set xlabel 't'
set ylabel 'MEGNO'
plot "hh.megno" u 1:2 w l lc rgb 'black'

# plotting the time-evolution of the Spectral Distance (D)
set xrange [*:*]
set yrange [-0.1:4]
set xlabel 't'  
set ylabel 'D'
plot "hh.sd" u 1:2 w l lc rgb 'black'   

unset multiplot

reset

set terminal windows

quit
4

2 回答 2

0

您可以告诉 gnuplot 旋转刻度标签:

set xtics rotate

不过,这将占用更多的垂直空间。您可能可以通过选择小于 90 度的角度找到折衷解决方案:

set xtics rotate by 45

或任何看起来最好的角度。

于 2013-07-22T06:00:27.793 回答
0

您可以尝试增加各个抽动之间的距离。例如,在左下角图中,您可以每 1000 次显示一次,而不是每 500 次显示一次。这可以通过使用轻松实现

set xtics 1000
于 2014-10-18T09:49:22.610 回答