image image


Worknote: Transparente Plots mit Gnuplot

Eine der Neuigkeiten von Gnuplot 4.4 ist die Möglichkeit, durchscheinende (transparente) Graphiken herzustellen – vorausgesetzt, man benutzt ein Terminal, das dies unterstützt. Der folgende Quellcode bringt solch eine transparente Graphik:

set term svg
set out 'transparency.svg'
set style fill transparent solid 0.3
plot [0:pi] sin(x)**2 with filledcurves above y1=0 lc rgb '#00ffff',
	0.75*cos(2*x)**2 with filledcurves above y1=0 lc rgb '#aa00aa'
set term aqua
replot

(Die Zeile mit dem plot-Kommande wurde wegen der besseren Lesbarkeit umgebrochen.)

Das Ergebnis ist eine SVG-Datei, die Euer Browser (oder Inkscape) so anzeigen sollte:

image

Zur Zeit scheint SVG das einzige Terminal zu sein, das – zumindest auf dem Mac – dieses neue Feature unterstützt. Ich habe – auch mit Gnuplot 4.6 – alle möglichen und unmöglichen Terminals ausprobiert, die Transparenz unterstützen könnten, aber keines außer SVG hat funktioniert.

SVG ist bekanntlich ein XML-Format. Der abschließende </svg>-Tag wird von Gnuplot solange nicht geschrieben, bis ein anderes set term-Kommando ausgeführt wird. Schließlich weiß Gnuplot bis zu diesem Zeitpunkt noch nicht, ob Ihr noch mehr in die Graphik hineinzeichnen wollt. Daher habe ich die Graphik mit

set term aqua
replot

noch einmal in AquaTerm zeichnen lassen. Hier ist die Graphik dann leider (noch?) nicht transparent.

Literatur

  • Das Beispiel ist in weiten Teilen diesem Buch (S. 56f.) entnommen.

(Kommentieren)  Transparenz mit Gnuplot bitte flattrn




Über …

Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!

Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.


Werbung


Werbung


image  image  image
image  image  image