2012-06-15 13 views
11

Ich versuche, Replot mit PNG-Terminal in Gnuplot zu verwenden.Gnuplot - Verwenden von Replot mit PNG-Terminal

Wenn ich die folgend ich zwei Parzellen auf einem Diagramm ohne Probleme:

plot sin(x)/x 
replot sin(x) 

nun tun, wenn das gleiche für einen png Terminal-Typen der resultierende PNG-Datei enthält nur die erste Handlung.

Fehle ich etwas am Ende, um das zweite Diagramm in meiner PNG-Datei zu bekommen?

Antwort

14

Das ist eigentlich eine sehr gute Frage, und das Verhalten hier ist terminalabhängig. Einige Terminals (z. B. PostScript) geben Ihnen eine neue Seite für jede replot. Sie haben ein paar Lösungen ...

Erste Option: Sie können Ihr Grundstück vor dem Einstellen des Terminal/Ausgabe und dann wieder machen Replot, nachdem Sie das Terminal/Ausgang gesetzt:

plot sin(x)/x 
replot sin(x) 
set terminal png 
set output 'file.png 
replot 

Diese Option ist manchmal bequem, wenn Sie das gleiche in mehreren Terminals plotten möchten, aber ich verwende es selten für etwas anderes.

Zweite (bessere) Option: Sie können mehrere Plots in einen Befehl packen, der jeweils durch ein Komma getrennt ist.

set terminal png 
set output 'file.png' 
plot sin(x)/x, sin(x) 

Ich ziehe es sehr viel den zweiten Weg - wenn sie in einer Multiplot Umgebung, ist dies der einzige Weg ist, mehrere Diagramme auf dem gleichen Grundstück zu setzen. Wenn Sie sehr lange Funktionen zu zeichnen, können Sie die Zeile mit gnuplot Linie Fortsetzung brechen (\ am Ende der Leitung - Nichts darf nach dem \, nicht einmal Leerzeichen)

plot sin(x)/x with lines linecolor rgb "blue" linetype 7 lineweight 4, \ 
    sin(x),               \ 
    cos(x) 
+2

Danke. Diese Befehle sollen von einem Skript gesendet werden. Ich kann die erste Option verwenden und 'terminal unknown' vorher festlegen, damit das Fenster nicht erscheint. Die zweite Option macht es etwas kompliziert für das, was ich brauche. Ich brauche wirklich den "Replot" Weg. – Noel

+1

@Noel - Kein Problem. Froh, dass ich Helfen kann. Eine andere Sache ist, dass die zweite Lösung etwas effizienter sein wird. Und ich freue mich sehr, dass Sie von dem unbekannten Terminal erfahren haben. Es ist eine nette Ecke von gnuplot, von der die meisten Leute nichts wissen. Viel Glück! – mgilson

Verwandte Themen