2012-02-08 170 views
3

我必須繪製包含兩列和五行的多槽圖。我已經繪製了這個圖,但是我發現這些圖之間的距離很大,我想減少它們。我使用了網站上的最後一個樣本編碼(模板)(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 

回答

3

我知道這是一個老問題,但有可能做一些與set size增加每個小區(可選,每個情節set origin可能是必要的)的大小。否則,您最好的選擇是使用set lmarginset rmargin,set bmarginset tmargin

您可以使用set ?margin at ...相對於屏幕座標保證金(設置,而不是字符,你已經把它的形式協調。這將使要你精確地放置該地塊。看到http://gnuplot.sourceforge.net/demo/margins.html