在多重绘图中生成一个图例,并将其放在最后一列和最后一行

时间:2016-05-11 11:50:57

标签: plot gnuplot

我试图在多色模式下安排几个带直方图的图。 我已经成功地绘制了它们。 (请参阅附图)

plot

但我在绘制图例(或键)时遇到问题。

我希望图例位于多个图中最后一行和最右边的列的中间(请参阅附图)。

我试图策划传说,但没有用。为了更好地理解我所做的事情,我提供了我正在工作的整个脚本。

希望我能得到一些帮助来绘制图例并将其放在最后一列和最后一行。

#!/usr/bin/gnuplot

#########################################################################################
set terminal postscript eps size 7.8,6.8 enhanced color font 'Helvetica,20'
set output 'yy_HB_all_Chap6_LYOsystems.eps'
#########################################################################################

set macro
labelFONT="font 'Helvetica,24'"
labelFONTin="font 'Helvetica,18'"
scaleFONT="font 'Helvetica,16'"
scaleFONTx="font 'Helvetica,15'"

keyFONT="font 'Helvetica,24'"
set key spacing 3.5 samplen 3  @keyFONT

#########################################################################################


set xtics @scaleFONT
set ytics @scaleFONT

set xlabel "Oxygen"         @labelFONT
set ylabel "Hydrogen Bond"  @labelFONT  offset 2.2,0
#set label "Hydrogen Bonds" at -2.0,0.35 rotate by 90 right         @labelFONT
#########################################################################################33

set style histogram rowstacked
set style data histograms
set boxwidth 0.75 absolute 
set style fill solid 1.00 noborder

#set boxwidth 0.8
#set style fill transparent solid 0.75 noborder
set yrange [0:2.5]
set xrange [0:12]


set multiplot layout 3,2 title ""

##PLOT_1 (1,1)
set label "(a) {/Symbol-Oblique b}Mal-C_{12}(12%wat)" at 1, 2.2     @labelFONTin
plot "HB-data-maltoLyo12per.dat" using 2 t "Lipid-lipid" lc rgb "#191970", '' using 3:xticlabels(5) t "Water-lipid" lc rgb "#6495ED"


###PLOT_2 (1,2)
unset label
set label "(b) {/Symbol-Oblique b}Mal-C_{12}(23%wat)" at 1, 2.2     @labelFONTin
plot "HB-data-maltoLyo23per.dat" using 2 t "Lipid-lipid" lc rgb "#191970", '' using 3:xticlabels(5) t "Water-lipid" lc rgb "#6495ED"


###PLOT_3 (2,1)
unset label
set label "(c) {/Symbol-Oblique b}Mal-C_{12}C_{8}({/Helvetica-Italic R}) " at 1, 2.2    @labelFONTin
plot "HB-data-bcmLyo25perR.dat" using 2 t "Lipid-lipid" lc rgb "#191970", '' using 3:xticlabels(5) t "Water-lipid" lc rgb "#6495ED"


###PLOT_4 (2,2)
unset label
set label "(d) {/Symbol-Oblique b}Mal-C_{12}C_{8}({/Helvetica-Italic S}) " at 1, 2.2    @labelFONTin
plot "HB-data-bcmLyo25perS.dat" using 2 t "Lipid-lipid" lc rgb "#191970", '' using 3:xticlabels(5) t "Water-lipid" lc rgb "#6495ED"


###PLOT_4 (3,1)
unset label
set label "(e) {/Symbol-Oblique b}Mal-C_{12}C_{8}({/Helvetica-Italic RS}) " at 1, 2.2   @labelFONTin
plot "HB-data-bcmLyo25perRS.dat" using 2 t "Lipid-lipid" lc rgb "#191970", '' using 3:xticlabels(5) t "Water-lipid" lc rgb "#6495ED"

######################################################################################################

#set size 0.3,0.3
#set origin 0.70,0.6
set bmargin at screen 0
set key center @keyFONT
set border 0 
unset xlabel
unset ylabel
unset label
unset tics
set format x ""
set format y ""

set yrange [0:1]

plot    2 ls 1 title "Lipid-lipid",\
    2 ls 2 title "Water-lipid"
######################################################################################################
unset multiplot

1 个答案:

答案 0 :(得分:2)

你可以用一招来做到这一点:

unset key

set multiplot命令之后,因此第一个图表没有显示任何键。然后,在最后一个之前,发出一个命令,它将恢复密钥并将其放在正确的位置,即在当前绘图之外:

###PLOT_4 (3,1)
set key at graph 1.5,screen 0.5 center center