缩短多时隙中图之间的距离

时间:2012-02-08 03:55:05

标签: gnuplot

我必须绘制一个包含两列五行的多重绘图。我已经绘制了它,但我发现这些图之间的距离很大,我想减少它们。我在网站(http://www.gnuplot.info/demo_canvas/layout.html)中使用了最后一个样本编码(模板)。我试图调整顶部和底部边距参数。如果我使用较小的值,x轴的标签会消失,并且图之间的距离会缩短。所以我必须使用大值。我只是想知道是否还有其他办法让情节更接近彼此?我已经为你的观点给出了下面的情节编码。 我很乐意对这个问题有所了解。 提前致谢

#!/usr/bin/gnuplot
  # SET TERMINAL
  set terminal postscript color enhanced "Arial" 10 #dashed lw 1 "Helvetica" 14     
  set output "plot-distribution-isoMalto-thermo.ps"

  # SET MACRO
  set macro
  labelFONT="font 'Arial,20'"
  scaleFONT="font 'Arial,14'"
  graph="using 1:2"
  axislabelFONT="font 'Arial,18' "
  #main_titleFONT="font 'times,14'"
  graphLabel="at 120,9000  font 'Arial,20' "
  position_orienation="at -50,18000 rotate right"

  color="linecolor rgb 'black' "
  layer1=" w l lt 1 lw 3 lc rgb 'black'"
  layer3=" w l lt 3 lw 3 lc rgb 'red' "
  layer2=" w l lt 2 lw 3 lc rgb 'green'"
  layer4=" w l lt 4 lw 3 lc rgb 'blue'"


  # SET MARGINS
  set tmargin 0.5
  set bmargin 4.0
  set lmargin 15
  set rmargin 3


  # SET RANGE
  set xrange [0:180]
  set yrange [0:12000]
  set xtics nomirror    0, 60, 180  @scaleFONT
  set ytics         0, 3000, 12000  @scaleFONT
  set format x ""

   #    MULTIPLOT START
  set multiplot layout 5, 2     #title "Multiplot layout 5, 2"
  set nokey

 #  PLOTTING STARTS
 #plot1
 #set title "Plot 1"
  set xtics nomirror
  set label 1 "(a)" @graphLabel
plot    "angle_output-thermo-malto-L1.dat" @layer1,\
    "angle_output-thermo-malto-L3.dat" @layer3
  #plot2
  #set title "Plot 2"
  set label 1 "(b)" @graphLabel
plot    "angle_output-thermo-malto-L2.dat" @layer2 ,\
    "angle_output-thermo-malto-L4.dat" @layer4


 #plot3
 #set title "Plot 3"
  set label 1 "(c)" @graphLabel
plot    "angle_output-thermo-bcmChain1-L1.dat" @layer1 ,\
    "angle_output-thermo-bcmChain1-L3.dat" @layer3
 #plot4
 #set title "Plot 4"
 set label 1 "(d)" @graphLabel
plot    "angle_output-thermo-bcmChain1-L2.dat" @layer2 ,\
    "angle_output-thermo-bcmChain1-L4.dat" @layer4




  #plot5
  #set title "Plot 5"
  set label 1 "(e)"     @graphLabel
 set label 2 "Distribution / N" @position_orienation @labelFONT
plot    "angle_output-thermo-bcmChain2-L1.dat" @layer1 ,\
    "angle_output-thermo-bcmChain2-L3.dat" @layer3
 #plot6
 #set title "Plot 6"
 set nolabel
 set label 1 "(f)" @graphLabel
plot    "angle_output-thermo-bcmChain2-L2.dat" @layer2 ,\
    "angle_output-thermo-bcmChain2-L4.dat" @layer4

 #plot7
 #set title "Plot 7"
 set label 1 "(g)" @graphLabel
plot    "angle_output-thermo-cello-L1.dat" @layer1 ,\
    "angle_output-thermo-cello-L3.dat" @layer3
  #plot8
  #set title "Plot 8"
  set label 1 "(h)" @graphLabel
plot    "angle_output-thermo-cello-L2.dat" @layer2 ,\
    "angle_output-thermo-cello-L4.dat" @layer4




   # for plot 9 and 10


  unset yrange
  set yrange [0:16000]
  set ytics 0, 4000, 16000
  set key

  #plot9
  #set title "Plot 9"
  set label 1 "(i)" @graphLabel
   set format x
plot    "angle_output-thermo-isomalto-L1.dat" @layer1 title "layer1",\
    "angle_output-thermo-isomalto-L3.dat" @layer3 title "layer3"

   #plot10
   #set title "Plot 10"
   set label 1 "(j)" @graphLabel
    set label "Angle in {/Symbol q} / deg" at -90,-8500 @labelFONT
    set format x
plot    "angle_output-thermo-isomalto-L2.dat" @layer2 title "layer2",\
    "angle_output-thermo-isomalto-L4.dat" @layer4 title "layer4"


   #    END MULTIPLOT
   unset multiplot
   #reset
   #pause -1

1 个答案:

答案 0 :(得分:3)

我知道这是一个老问题,但可能会对set size做一些事情以增加每个图的大小(可选地,每个图可能需要set origin)。否则,最好的办法是使用set lmarginset rmarginset bmarginset tmargin

您可以使用set ?margin at ...来设置相对于屏幕坐标的边距(而不是您放置它的形式中的字符坐标。这样您就可以将图形精确地放置在您想要的位置。请参阅{{ 3}}