2016-05-11 6 views
2

Ich versuche, mehrere Diagramme mit Histogrammen in einem Multiplot-Modus anzuordnen. Ich habe sie erfolgreich geplottet. (Siehe das beigefügte Bild)Erzeugen einer Legende im Multiplot und und platzieren es in der letzten Spalte und letzten Zeile

plot.

Aber ich habe ein Problem mit der Erstellung der Legende (oder Schlüssel).

Ich möchte, dass die Legende in der Mitte der letzten Zeile und der rechten Spalte im Multiplot steht (siehe die beigefügte Zeichnung).

Ich habe versucht, die Legende zu plotten, aber ohne Erfolg. Um besser zu verstehen, was ich getan habe, habe ich das ganze Skript zur Verfügung gestellt, an dem ich arbeite.

Ich hoffe, ich bekomme etwas Hilfe, um die Legende zu zeichnen und die letzte Spalte und letzte Zeile zu platzieren.

#!/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 

Antwort

2

Sie können dies mit einem Trick:

unset key 

kurz nach dem set multiplot Befehl, so wird kein Schlüssel für die ersten Parzellen angezeigt. Dann, bevor die letzte, einen Befehl, der den Schlüssel wieder herstellt und sie an der richtigen Stelle setzen, das heißt außerhalb des aktuellen Grundstück:

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

Nein, es ist wirklich nützlich: key Platzierung Staaten helfen „Der Wirkung von "links", "rechts", "oben", "unten" und "Mitte", wenn gegeben ist, ist der Schlüssel so auszurichten, als ob Text mit dem Label-Befehl positioniert wäre, dh "links" bedeutet links mit der Taste rechts neben usw. ausrichten. " Es ist ein Trick in dem Sinne, dass Sie den Schlüssel außerhalb des Bildschirms eines der Plots positionieren. Lässt mich denken, dass die richtige Wahl nicht "Grafik" sondern "Bildschirm" ist, ich werde bearbeiten. – Joce

+0

Sie haben Recht, aber jetzt ist es falsch. "screen" geht nur von 0 bis 1. Der "Trick" mit "graph 1.5" war eigentlich schlau. – Karl

+1

Danke für Ihre Antwort. Übrigens habe ich versucht, das Histogramm in der letzten Zeile und der letzten Spalte zu zeichnen. Jetzt möchte ich nur den "Schlüssel" behalten und den Rest löschen. Auf diese Weise kann ich den Schlüssel nur in der Mitte der Handlung haben. I versucht, mit dieser Befehle: set bmargin am Bildschirm 0,1 eingestellt Schlüsselzentrum @keyFONT set border 0 ungesetzt xlabel ungesetzt ylabel ungesetzt Etikett ungesetzt Tics eingestellten Format x "" eingestellten Format y "" set yrange [0 : 10] Plot "HB-Daten-bcmLyo25perRS.dat" unter Verwendung von 2 t "Lipid-Lipid" lc rgb "# 191970", unter Verwendung von 3: xticlabels (5) t "Wasser-Lipid" lc rgb "# 6495ED "...... – Vijay

Verwandte Themen