2016-06-08 17 views
1

Hoffentlich ist dies eine dumme Frage, und einfach zu beheben. Wenn ich diese einfache gnuplot Skript ausführen:Gnuplot Postscript-Terminal zeigt keine transparenten Symbole

#!/usr/bin/env gnuplot 

set term png 
set out "out.png" 

plot "<jot -r -p 2 500 1 2" not w p pt 7 ps 4 lc rgb "#908DB6CD" 

set term post eps enhanced color 
set out "out.eps" 

replot 

exit 

die PNG-Datei sieht wie folgt aus:

PNG file generated from the script

Und die eps sieht TIKE dies:

EPS file generated from the script

Der pdfcairo Terminal gibt mir auch Transparenz. Irgendwelche Hinweise darauf, wie man die eps-Dateien transparent macht?

Vielen Dank im Voraus!

Vinicius

+2

Das eps-Terminal unterstützt keine Transparenz. Wenn Sie 'help term [termname]' einfügen und es keine Transparenzoption hat, dann unterstützt dieses Terminal keine Transparenz –

+0

"help pdfcairo" sagt nicht, dass es eine Transparenzoption hat. Funktioniert es wirklich? – Karl

+0

Danke @ gavin-portwood, das ist, was ich dachte. @ karl, ja, ich könnte ein pdf mit pdfcairo mit transparenz erstellen. Die Problemumgehung ist dann generieren pdfs in gnuplot dann 'pdftops-eps out.pdf', um die eps zu bekommen. –

Antwort

0

Ich glaube, ich auf meine eigene Frage antworten sollte, so zumindest wird dies ein Fall geschlossen.

Nach etwas mehr graben, und aus den Kommentaren ich erhielt, ist unter dem Strich, dass der gnuplot postscript Terminal Transparenz nicht handhaben, während die pdf und pdfcairo Terminals tun.

Der Trick ist, eine .eps-Datei aus einem PDF zu generieren pdftops mit:

#!/bin/bash 

gnuplot << GNU 

set term pdf 
set out "out.pdf" 

plot "<jot -r -p 2 500 1 2" not w p pt 7 ps 4 lc rgb "#908DB6CD" 

GNU 

pdftops -eps out.pdf 

Alle meine .eps-Dateien erzeugt werden, um LaTeX-Dokumente integriert werden. Dann könnte ich einfach zu PDFLaTeX wechseln und damit fertig sein. Manchmal mag ich es, die .eps zu bearbeiten, um die Begrenzungsbox und andere Dinge per Hand oder mit awk/sed zu verändern. Hoffentlich ist das hilfreich.

+0

Sie sollten sich bewusst sein, dass das resultierende EPS nicht wirklich Transparenz wie in PostScript hat, gibt es nicht. Es ist ziemlich wahrscheinlich, dass Teile mit Transparenz tatsächlich gerastert werden, d. H., Sie können die auflösungsunabhängigen Vektorqualitäten verlieren und mit einer (teilweisen) Bitmap enden. –

+0

Sie haben Recht. Ich bemerkte, dass sich die Auflösung etwas verschlechterte, aber für die Dinge, die ich bisher brauchte, war es kein großer Deal (noch!). Vielen Dank! –