2012-05-16 4 views
8

Weiß jemand, wie ich die Reihenfolge innerhalb des Schlüssels ändern kann, ohne die Reihenfolge der Plotbefehle zu ändern? Standardmäßig hat der Schlüssel die gleiche Reihenfolge wie die Titel der einzelnen Plots.Gnuplot legende order

Zum Beispiel: Ich plotte zuerst eine Fehler-Band mit fillecu, dann den Mittelwert als eine durchgezogene Linie. Jetzt habe ich den Titel der Fehlerband oben (in der Taste), gefolgt von dem Titel der durchgezogenen Linie. Aber ich möchte es andersherum haben.

beste Wünsche

Antwort

11

Gerade

set key invert 

verwenden, um die Reihenfolge der Schlüsseleinträge zu ändern.

+0

danke! das funktioniert natürlich nicht, wenn ich mehrere Zeitreihen mit schattiertem Fehlerband plotten möchte. Immer noch gut zu wissen –

+0

@RaphaelRoth Warum sollte das nicht für mehrere Zeitreihen funktionieren? – Christoph

+0

Ja, Sie haben Recht, es funktioniert, wenn Sie transparente Schattierungen verwenden. Manchmal habe ich so etwas gemacht, zuerst alle Fehlerbänder und dann die Mittelwerte gezeichnet (so dass sie nicht hinter irgendwelchen Fehler-Schattierungen verborgen sind). Der "set key invert" invertiert nur die Reihenfolge der Beschriftungen und bietet nicht die Möglichkeit, eine beliebige Anordnung in der Legende zu erreichen. –

5

Es gibt keine Möglichkeit, die ich kenne, ohne hässlichen Hacks zurückgreifen ... Hier ist ein so hässlicher Hack:

plot sin(x) with filledcurves notitle, \ 
    cos(x) with lines, \ 
    NaN with filledcurves title 'sin(x)' lc rgb "#ff0000" 

Grundsätzlich haben wir die ersten zwei Parzellen als normal plotten (außer Wir entfernen den Titel von der ersten Handlung). Dann machen wir ein „Null“ Grundstück (plot NaN) mit dem gleichen Stil und Titel, die Sie in dem Schlüssel wollen ...