Reputation: 145
I have to plot a multiplot comprising two columns and five rows. I have plotted that but I find the distance in between the plots are big and I want to reduce them. I used the last sample coding (template) as in the website ( http://www.gnuplot.info/demo_canvas/layout.html ). I tried to adjust the top and bottom margin parameters. If I use smaller values the label for x-axis disappears and the distance between plots shortened. So I have to use big values. I just wonder is there any other way to bring the plot nearer to each other? I have given the coding for plot below for your view. I would be glad to get some insights on this issue. Thanks in advance
#!/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
Upvotes: 3
Views: 4197
Reputation: 310297
I know this is an old question, but it might be possible to do something with set size
to increase the size of each plot (optionally, a set origin
for each plot might be necessary). Otherwise, your best bet is to use set lmargin
,set rmargin
, set bmargin
and set tmargin
.
You can use set ?margin at ...
to set the margin relative to screen coordinates (as opposed to character coordinates in the form you have put it. This will allow you to place the plots exactly where you want to. see http://gnuplot.sourceforge.net/demo/margins.html
Upvotes: 3