output.png von gnuplot ist nicht so gut wie die Zahl von prompt shell
Ich oft plot-Diagramme in gnuplot
prompt shell, wie diese:
gunuplot> plot sin(x) with linespoints pointtype 3
und der Abbildung gezeigt-up ist großartig.
Heute, ich Speichere die Grafik in einem .png
- Datei wie diese:
gnuplot> set term png
gnuplot> set output "output.png"
gunuplot> plot sin(x) with linespoints pointtype 3
Dann öffne ich output.png
mit eog
in Ubuntu, wie diese:
$ eog output.png
Fand ich, dass der Ausgang.png angezeigt eog
ist nicht so gut wie der Abbildung dargestellt in die Eingabeaufforderung der shell.
Warum ist das so? Muss ich einige Einstellungen vor dem speichern der output.png
?
PS
Fand ich, dass ein Weg, um es, Erstens,
set term postscript
set output "output.ps"
dann in der linux-shell,
$ convert output.ps output.jpg
Diese Weise eine Art lösen die mein problem.
InformationsquelleAutor der Frage Alcott | 2012-01-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Quelle der Probleme mit der PNG-Qualität ist wahrscheinlich das fehlende antialiasing in der png-terminal von Gnuplot. Da gibst du keine screenshots, ich bin mir nicht sicher, was Sie meinen, wenn Sie reden über schlechte linewidth, aber hier sieht es für mich (auf MacOS). Dieser screenshot zeigt die Ausgabe von gnuplot native aquaterm Ausgabe:
Wenn wir ein png mit
set term png
die Zeilen werden "nervös" und pixellated:Jedoch, es gibt eine version des png-Terminals, verwendet die Cairo-libs für das rendering, und das macht die Ausgabe weit glatter und schöner.
set term pngcairo
gibt dieses Ergebnis:Können Sie
set terminal
zu überprüfen, ob der terminal-version für Sie verfügbar ist. Wenn es ist, diese zu speichern, sollten Sie zu konvertieren, und geben auch eine bessere Bildqualität als JPG (das ist nicht ein ideales format für Strichgrafiken).InformationsquelleAutor der Antwort jstarek
Ist die Standard-Größe von PNG-Bild erzeugt gnuplot mit dem PNG-terminal 640 x 480 Pixel. Diese Auflösung in bestimmten Fällen kann das Ergebnis in der "verpixelten" Grafiken, die nicht so schön sind wie die auf dem Bildschirm mit der Standardeinstellung (wxt) terminal.
Können Sie ändern Sie die Auflösung des output-Bildes mit der Größe-option:
wobei x und y die gewünschte Anzahl der Pixel entlang der horizontalen und vertikalen Achse, respectively.
Zum Beispiel:
Bitte beachten Sie, dass Bilder mit einer größeren Auflösung zu proportional größeren Dateien auf der Festplatte. Alternativ können Sie versuchen, verwenden Sie nicht-raster-terminals wie "post-eps" oder "pdf-Datei", wenn auf Ihrem Rechner verfügbar ist, das kann Ihnen eine qualitativ hochwertige, skalierbare und (relativ) portable-images, ohne eine große Platte.
InformationsquelleAutor der Antwort Giannis
Alternativ, wenn Sie möchten, dass professional (Publikation-ready) hochwertige Bilder mit gnuplot, sollten Sie einen Blick auf das epslatex-terminal. Ich habe es ausgiebig für meine Arbeit und meine Papiere mit sehr gute Ergebnisse erzielt werden, die nahezu keine Pixel Probleme, Portabilität beim konvertieren von Bildern in pdf, und fast alle Fähigkeiten von Latex.
InformationsquelleAutor der Antwort Miguel
Bemerkung: verwenden Sie eine JPEG-Datei als Beispiel. Man sollte wohl niemals JPEG verwenden, für line plots, es sei denn, Sie haben Fotos als Hintergründe. JPEG ist einfach nicht darauf ausgelegt, die scharfen Kanten der Zeichnungen.
InformationsquelleAutor der Antwort djconnel