2013-08-22 9 views
5

Ich habe Schwierigkeiten mit der Ausrichtung der verschiedenen Tastentitel, wenn sie horizontal platziert werden, anscheinend aufgrund der unterschiedlichen Längen in den Titeln.gnuplot - Ausrichtung von horizontalen Tastentiteln unterschiedlicher Länge

Mit zwei kurzen Plottiteln (1. und 4.) und zwei längeren Titeln (2. und 3.) bleibt eine größere Lücke zwischen den beiden letzten Titeln (vermutlich weil die Lücken zwischen den beiden gleichen Strings gelegt werden)). Ich habe gesucht, aber keine Möglichkeit gefunden, dies zu ändern.

Ein vereinfachtes Beispiel wird unten gezeigt. Irgendwelche Vorschläge oder Hilfe würden sehr geschätzt werden.

set terminal postscript eps size 5.12,2.3 enhanced color "Helvetica" 12 
set output 'example.eps' 

set title 'Difficulty of Long and Short Title usage in Horizontal Keys' font "Helvetica, 20" 

set key inside bottom center horizontal font "Helvetica, 20" width 1.8 

set ylabel 'ylabel' font "Helvetica, 20" 
set xlabel 'xlabel' font "Helvetica, 20" 
set lmargin screen 0.10 
set rmargin screen 0.95 
set yrange [-1.5:1.5] 

plot sin(x) title 'short', \ 
cos(x) title 'long title 1', \ 
-0.5 title 'long title 2', \ 
0.5 title 'short' w l ls 4 

Das Ergebnis ist: enter image description here

+0

Ich sehe keine Möglichkeit, dies mit den vorhandenen 'set key' Optionen zu lösen. Haben Sie eine Abhängigkeit zwischen einem langen und einem kurzen Titel? Vielleicht würde es funktionieren, eine '2x2'-Taste (' set key maxcols2') mit beiden kurzen Tasten in der linken Spalte zu haben? – Christoph

+0

Vielen Dank für Ihre Antwort. Leider bin ich sehr daran interessiert, die Reihenfolge der Titel in der tatsächlichen Handlung zu behalten und würde es vorziehen, sie in einer Reihe zu halten. Dies ist offensichtlich eine ästhetische Frage, also nicht das Ende der Welt, aber es wäre gut zu wissen, ob es möglich ist oder nicht. Gibt es Workarounds? – user2707058

Antwort

3

Eine mögliche Abhilfe für dieses die ersten drei Graphen und die letzte mit zwei verschiedenen Plot-Befehle in multiplot Modus zu erzeugen, wäre:

set terminal postscript eps size 5.12,2.3 enhanced color "Helvetica" 12 
set output 'example.eps' 

set title 'Difficulty of Long and Short Title usage in Horizontal Keys' font "Helvetica, 20" 

set ylabel 'ylabel' font "Helvetica, 20" 
set xlabel 'xlabel' font "Helvetica, 20" 
set lmargin screen 0.10 
set rmargin screen 0.95 
set yrange [-1.5:1.5] 

set bmargin screen 0.15 
set tmargin screen 0.9 

set multiplot 
set key horizontal font "Helvetica, 20" width 1.8 at graph 0.4, graph 0.1 center maxrows 1 
plot sin(x) title 'short', \ 
    cos(x) title 'long title 1', \ 
    -0.5 title 'long title 2' 

unset title 
unset xlabel 
unset ylabel 
unset border 
unset tics 
set key horizontal font "Helvetica, 20" width 1.8 at graph 0.84, graph 0.1 center maxrows 1 
plot 0.5 title 'short' w l ls 4 
unset multiplot 

Dies erfordert jedoch einige Optimierungen:

  • Vor der zweiten plot müssen Sie Titel, Beschriftungen, Tics und Rahmen entfernen, sonst könnte das Diagramm aufgrund unterschiedlicher Anti-Aliasing gezackt aussehen
  • Um die s ame Margen Sie ebenfalls fest eingestellt müssen tmargin und bmargin
  • Sie müssen Ihre Schlüssel manuell positionieren

Der obige Code gibt Ihnen: enter image description here

Nun müssen Sie beurteilen, ob seine wert.

-2

Sie könnten den svg Terminal verwenden und die Anpassungen vornehmen, indem die SVG-Datei auf inkscape öffnen.

+0

Oder verwenden Sie ein Png-Terminal und verwenden Sie einen Raster-Grafik-Editor oder PostScript, und bearbeiten Sie die Quelle ... Sie sind ein Scherz, oder? – DanielTuzes

+0

"Sie ** scherzen, richtig?" Was? Ich habe diese Antwort vor mehr als zwei Jahren geschrieben! Wovon zur Hölle redest du? –

Verwandte Themen