我必须绘制一个包含两列五行的多重绘图。我已经绘制了它,但我发现这些图之间的距离很大,我想减少它们。我在网站(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
答案 0 :(得分:3)
我知道这是一个老问题,但可能会对set size
做一些事情以增加每个图的大小(可选地,每个图可能需要set origin
)。否则,最好的办法是使用set lmargin
,set rmargin
,set bmargin
和set tmargin
。
您可以使用set ?margin at ...
来设置相对于屏幕坐标的边距(而不是您放置它的形式中的字符坐标。这样您就可以将图形精确地放置在您想要的位置。请参阅{{ 3}}