Wenn nicht durch die using-Option des plot-Befehls (s. unten) anders angegeben, werden, wie angedeutet, die ersten beiden Spalten als x- und y-Werte interpretiert.
x1 y1 ... x2 y2 ... x3 y3 ... : : ... xN yN ...
Natürlich können die Rollen von x und y auch vertauscht werden.
x1 y1 z11 ... x2 y1 z21 ... : : : ... xM y1 zM1 ... x1 y2 z12 ... x2 y2 z22 ... : : : ... xM y2 zM2 ... : : : ... x1 yN z1N ... x2 yN z2N ... : : : ... xM yN zMN ...
$ gnuplotaufgerufen ("$´´ steht für das Shell-Prompt) und meldet sich mit
gnuplot>Beschreibungen zu den einzelnen Gnuplot-Themen erhält man mit
gnuplot> help topicoder nur
gnuplot> helpGnuplot wird verlassen und zur Shell zurückgekehrt mit
gnuplot> quitStatt "quit" genügt auch "q", da alle Befehle abgekürzt werden können. Mit der Eingabe von "q" auf der Tastatur kann man auch ein aktives Graphikfenster schließen (ohne Gnuplot zu verlassen). Der Befehl
gnuplot> plot 'filename'zeichnet die ersten beiden Spalten (interpretiert als x- und y-Werte) des Files filename, wobei zur Darstellung Symbole verwendet und Skalierung sowie Beschriftung an die Daten angepaßt werden. Analog liefert
gnuplot> splot 'filename'eine dreidimensionale Punktwolke der ersten drei Spalten von filename, die als x-, y- und z-Koordinaten der Datenpunkte aufgefaßt werden. Die Darstellung von analytisch gegebenen Funktionen f(x) bzw. Flächen f(x,y) erfolgt ebenfalls mit diesen Befehlen, wobei statt des Filenamens die gewünschte Funktion angegeben wird, also
gnuplot> plot f(x)oder
gnuplot> splot f(x,y)Als Standardintervall/gebiet wird in diesem Fall [-10,10] bzw. [-10,10]×[-10,10] angenommen.
plot 'filename' using m:n title 'text' with stylebzw.
plot function title 'text' with style"using", "text" und "with" können durch "u", "t" und
using (sqrt($1**2+$2**2)):(abs($3))Mit Hilfe von title kann ein Text für die Legende spezifiziert werden. (Sofern mit {un}set key nicht anders angegeben, erscheint in der oberen rechten Ecke zu jedem gezeichneten Datensatz bzw. zu jeder Funktion der entsprechende Text mit dem zugeordneten Symbol- oder Linientyp.) Die Option with gibt an, wie die Daten oder die Funktion darzustellen sind. Hier gibt es eine ganze Reihe von Möglichkeiten (s. help plot with), die ihrerseits wieder modifiziert werden können. Am wichtigsten sind
with lines {linetype lt} {linewidth lw}Daneben gibt es auch noch linespoints, impulses, steps usw. Bei errorbars muß das Datenfile drei oder mehr Spalten enthalten, bzw. müssen drei mit using ausgewählt werden. Es können wieder Abkürzungen verwendet werden, z.B. genügt statt der ersten Zeile
with points {linetype lt} {pointtype pt} {pointsize ps}
with dots {linetype lt}
with errorbars {linetype lt} {linewidth lw} {pointtype pt} {pointsize ps}
w l lt lt lw lwlt, lw usw. sind, je nach Bedeutung, ganzzahlige Codes oder reelle Parameter. Diese Codes haben allerdings für verschiedene Ausgabemedien (Terminals) verschiedene Bedeutung! Soll eine Graphik mehrere, übereinander zu zeichnende Datensätze und/oder Funktionen enthalten, so kann man dem plot-Befehl auch eine durch Beistriche getrennte List von Filenamen/Funktionen + Optionen geben
plot 'file1' using...,\Überlange Zeilen können mit "\" abgeteilt werden.
'file2' using...,\
'file3' using...
replotführt das letzte plot- oder splot-Kommando nochmals aus.
set size xsize,ysizeSkalierungsfaktoren für die Graphik fest, die, wie man mit
show sizefeststellt, standardmäßig 1,1 sind. Die Wirkung der set-Befehle wird i.a. erst nach dem nächsten plot, splot oder replot sichtbar.
set xrange [xmin:xmax]an. Hier, wie auch in den folgenden Kommandos, wurde nur der Befehl für die x-Achse angeführt; die Befehle für die anderen Achsen erhält man, indem man einfach "x" durch "y" oder "z" ersetzt, also z.B. set yrange oder set zrange. Wo auf den Achsen größere Unterteilungsstriche (Tick Marks) und eine Beschriftung angebracht werden sollen, legt man mit
set xtics start,step,endfest. Die Anzahl der dazwischenliegenden kleineren Unterteilungsstriche (Minor Tick Marks) definiert man mit
set mxtics nDas Intervall zwischen zwei größeren Strichen wird dabei in n Teile geteilt. Ist mxtics nicht gesetzt, so ist das gleichbedeutend mit n=1. Das numerische Format für die bei den größeren Teilstrichen anzubringenden Zahlen kann man mit
set format x 'format'festlegen. Dabei ist format eine Formatbeschreibung in C-Syntax, also z.B. '%.0f' für Zahlen ohne Kommapunkt oder '%.2f' für Zahlen mit zwei Nachkommastellen. Tick Marks und Beschriftung an beliebigen Stellen, x1, x2, ..., der Achsen kann man mit dem Kommando
set xtics ("text1" x1 , "text2" x2, ...)anbringen. Die Legende für eine Achse gibt man mit
set xlabel 'text'an. Schließlich kann man noch mit
{un}set logscale xzwischen linearen und logarithmischen Achsen wählen.
set title 'text'versieht die Graphik mit der Überschrift text. Eine Beschriftung an einer beliebigen Stelle in der Graphik bringt man mit
set label n 'text' at x,y{,z} {justification} {rotate}an. Dabei ist n=1,2,3,... eine Marke (Tag) zur Identifikation des Labels, x, y (und z) seine Position (normalerweise im Koordinatensystem der Achsen), und j ustification (left, right oder center) gibt an, ob der Text dort linksbündig, rechtsbündig oder zentriert ausgerichtet werden soll. Mit rotate kann bei manchen Terminals der Text um 90 Grad gedreht werden. Die Legende (Zuordnung der Punktsymbole oder Linientypen zum Datensatz oder zur Funktion, wie sie entweder automatisch oder mit Hilfe der title-Option des (s)plot-Kommandos angegeben wird) erscheint normalerweise in der rechten oberen Ecke der Graphik. Man kann die automatisch erzeugte Legende mit
unset keyunterdrücken bzw., falls in der rechten oberen Ecke kein Platz ist, die Legende mit
set key {position} {justification}an einen anderen Ort setzen. Dabei kann position eine Kombination von left, right, top und bottom oder eine Koordinatenangabe x,y(,z) sein und justification left oder right. Daneben gibt es noch eine Reihe anderer Optionen (s. help set key).
load 'scriptfile'ein. Umgekehrt kann man mit
save 'scriptfile'alle zum momentanen Zeitpunkt einer interaktiven Gnuplot-Sitzung gültigen Definitionen und Optionen sowie das letzte (s)plot-Kommando in einem Script-File speichern. Ein Script-File kann auch direkt von der Kommandozeile der Shell (als eine der Kommandozeilenoptionen an Gnuplot) ausgeführt werden
$ gnuplot {other_options} scriptfileDie Kontrolle wird nach Beendigung des Scripts an die Shell zurückgegeben.
$
set terminalherausfinden. Beim Start von Gnuplot unter Unix wird normalerweise als Standardannahme das x11-Terminal (also Ausgabe auf dem Monitor unter X-Window) voreingestellt. Will man auf ein anderes Ausgabemedium wechseln, so erfolgt das mit dem Befehl
set terminal terminal {options}Ab diesem Zeitpunkt wird die Ausgabe aller (s)plot- und replot-Kommandos auf terminal geleitet. Entspricht terminal allerdings einem File, so muß man vorher zusätzlich noch mit
set output 'filename'den Namen des zu erzeugenden Ausgabefiles angeben. Dieses File wird i.a. aber erst ordnungsgemäß geschlossen, wenn man Gnuplot verläßt oder mit set output ein neues Ausgabefile wählt. Ausgabe in ein Bit/Pixelmap-File, z.B. im PNG-Format, erzeugt man mit tels
set terminal png {size} {color}wobei für size small, medium und large in Frage kommen und für color monochrome, gray und color. Bei weitem das wichtigste Format, insbesondere zur Herstellung von Graphiken für Publikationen, ist jedoch Postscript. Hier hat man außerdem die Möglichkeit einer ansprechenden Beschriftung einschließlich griechischer Buchstaben und gewisser mathematischer Symbole. Der Befehl kennt eine größere Anzahl von Optionen
set terminal postscript {landscape | portrait | eps} \Hier bedeutet eps, daß ein Encapsulated Postscript (EPS)-File erzeugt werden soll; solid und dashed beziehen sich auf die Auswahlt der Linientypen; fontname ist der gewünschte Druckerzeichensatz (z.B. Times-Roman) für die Beschriftung und fontsize die Zeichengröße (z.B. 16) in Points. Mit enhanced kommt man in einen erweiterten Postscript-Modus, in dem man in TeX-artiger Notation Zeichen hoch- (Exponenten) und tiefstellen (Indizes) kann. So ergibt z.B.
{enhanced} \
{monochrome | color} \
{solid | dashed} \
{'fontname'} {fontsize}
Griechische Buchstaben erhält man, indem man (für ein oder mehrere Zeichen) auf den "Symbol"-Zeichensatz wechselt, z.B.
x^y xy x^{yz} xyz x_i xi x_{ij} xij
{/Symbol=16 r}Hier wurde auf den Symbol-Zeichensatz in der Größe 16 Points geschaltet; der Buchstabe "r" entspricht dort dem griechischen "r". Da dieser Zeichensatz auch mathematische Symbole enthält, kann man damit auch Wurzelzeichen u.ä. schreiben. Zeichen eines beliebigen Zeichensatzes kann man auch mit Hilfe des Oktalcodes angeben. So liefert etwa
{/Times-Roman \305}das Å-Symbol. (Dazu muß man allerdings vorher mit
set encoding iso_8859_1den erweiterten ISO-8859 Zeichensatz verlangen.)
a=1.0wobei die rechte Seite natürlich auch ein numerischer Ausdruck gemäß der in den meisten Programmiersprachen üblichen Syntax sein kann. [Als Potenzierungsoperator wird "**" (Fortran!) verwendet, d.h. es wird xy als x**y geschrieben.] Außerdem steht für numerische Ausdrücke ein recht umfangreicher Satz von "eingebauten" Funktionen zur Verfügung (s. help expressions functions). Eine Funktion definiert man z.B. mittels
f(x)=a*exp(-0.5*((x-x0)/b)**2)+coder auch als
f(x,a,b,c,x0)=a*exp(-0.5*((x-x0)/b)**2)+cwobei der Name der Funktion nicht "f" sein muß, sondern frei gewählt werden kann. (Man kann außerdem beliebig viele Funktionen definieren.) Der Name der unabhängigen Variablen muß allerdings "x" (im zweidimensionalen Fall "x" und "y") sein. Auch benützerdefinierte Funktionen dürfen in numerischen Ausdrücken verwendet werden.
{un}set parametricDie Namen der unabhängigen Variablen (Parameter) sind dann im Fall eindimensionaler Kurven t und im Fall zweidimensionaler Flächen u,v. Die Intervalle, in denen die Parameter variieren sollen, müssen mit
set trange [tmin:tmax]usw. festgelegt werden. Der plot-Befehl verlangt im Parametermodus dann statt einer expliziten Funktion f(x) zwei Funktionen x(t) und y(t) (durch Beistrich getrennt). Analog treten bei splot an Stelle von f(x,y) drei Funktionen x(u,v), y(u,v) und z(u,v). Das folgende Beispiel erzeugt eine Ellipse mit Halbachsen a und b:
set parametric
set a=...
set b=...
set trange[0:1]
x(t)=a*cos(2*pi*t)
y(t)=b*sin(2*pi*t)
plot x(t),y(t) ...
set isosamples m,ngesteuert werden. Je nach vorheriger Angabe von
{un}set hidden3dwird das Drahtgitter durchsichtig oder undurchsichtig gezeichnet. Eine wesentlich ansprechendere Darstellung als schattierte Fläche erreicht man mit Hilfe des ab der Version 4.0 von Gnup lot für die wichtigsten Terminals (z.B. x11, postscript, png) verfügbaren pm3d-Stils
set pm3dHierbei wird die z-Koordinate der Fläche z=f(x,y) in einen Index in eine Farbtabelle (Palette) transformiert, gemäß der die Fläche schattiert wird. Im einfachsten Fall wählt man mit
splot f(x,y) with pm3d
set palette gray | colorzwischen einer voreingestellten Grauton- oder echten Farbdarstellung. Mit Hilfe weiterer Optionen des Befehls set palette ist es jedoch möglich, sehr allgemeine Zuordnungen der z-Werte zu Farbtönen zu definieren. Diese Zuordnung wird in einer "Color Box" sichtbar gemacht, deren Aussehen und Positionierung mit dem Befehl set colorbox gesteuert werden kann (s. help zu den entsprechenden Befehlen). Im Fall von Datenfiles zeichnet splot standardmäßig eine Punktwolke. Als Symbole stehen für die with-Option nur lines, linespoints, dots und impulses zur Verfügung. Um eine Drahtgitter- oder schattierte Fläche durch die Punkte zu legen, genügen allerdings nicht die Optionen with lines(points) oder with pm3d allein, sondern es müssen, wie im Abschnitt über die Struktur von 3D Datenfiles ausgeführt, die Daten in gleich großen, durch Leerzeilen getrennten Blöcken angeordnet sein. D.h. im Gegensatz zur Darstellung von Punktwolken, wo für die Anordung der x- und y-Werte keine Einschränkung besteht, müssen für die Darstellbarkeit als Fläche diese Werte ein geordnetes Gitter bilden. Gibt man bei splot im pm3d-Modus bei der using-Option vier statt der üblichen drei Spalten an, so werden die Werte der dritten Spalte nur für die räumliche Darstellung der Fläche verwendet, die Farbtöne jedoch aus den Werten der vierten Spalte berechnet. Damit hat man eine Möglichkeit zur Visualisierung "vierdimensionaler" Daten. Die Ansicht einer 3D Graphik kann mit
set view xrot{,zrot}variiert werden. Dabei ist xrot (in Grad) eine Drehung um die in der Zeichenebene liegende, horizontale x-Achse und zrot eine (danach ausgeführte) Drehung um die senkrecht zur xy-Ebene liegende z-Achse. Für den Spezialfall , daß man senkrecht auf die xy-Ebene blicken will, kann man statt set view 0,0 auch
set view mapangeben. Standardmäßig beginnen Tick Marks und Achsenbeschriftung der z-Achse relativ hoch über der xy-Ebene. Dies kann mit
set ticslevel levelkorrigiert werden, indem man ticslevel auf einen kleinen Wert setzt (ticslevel wird in Einheiten des mit zrange definierten Intervalls gemessen).
set contour {base | surface | both}erreicht werden, daß zusätzlich Höhenschichtlinien eingezeichnet werden, und zwar mit base (Standardannahme) projiziert auf die xy-Ebene, mit surface auf der darzustellenden Fläche und mit both auf beiden. (Mit unset contour schaltet man Höhenschichtlinien wieder aus.) Wo Höhenschichtlinien gezeichnet werden, steuert man mit
set cntrparam {levels {auto {n}} \(wobei es noch einige andere Optionen gibt). Mit auto (Standardannahme) werden die Höhenschichtlinien bei n äquidistanten z-Werten zwischen zmin und zmax gezeichnet; mit discrete bei vorgegebenen Werten z1, z2, ...; und mit incremental in Schritten von step zwischen start und end. Mit
&nbs p; | {discrete z1{,z2,...}} \
| {incremental start,step{,end}}}
set clabel {'format'}kann man das Format der Beschriftung bestimmen (oder mit unset clabel die Beschriftung überhaupt unterdrücken). Häufig will man, wie bei einer Landkarte, nur die Höhenschichtlinien sehen, aber nicht eine Ansicht die Fläche selbst. Das erreicht man, indem man die Darstellung der Fläche ausschaltet und die Graphik so dreht, daß man senkrecht auf die xy-Ebene schaut
unset surface
set view map
splot ...
|
|
FIT_LIMIT=1.0e-05für das Abbruchkriterium (Differenz der Abweichungsquadratsummen zwischen aufeinanderfolgenden Iterationen) setzen. Der eigentliche Fit erfolgt für eine Funktion einer Variablen üblicherweise mit einem Befehl der Gestalt
fit {[x=xmin:xmax]} function 'filename' using expr1:expr2:expr3 via par1,par2,...(analog für eine Funktion von zwei unabhängigen Variablen; wegen weiterer Optionen im fit-Befehl s. help fit). Hier kann man mit [x=xmin:xmax] noch die im Fit betrachteten x-Werte auf einen kleineren Bereich als die ganze x-Achse einschränken; expr1, expr2 und expr3 geben-ähnlich wie beim plot-Befehl-an, welche Spalten oder numerischen Ausdrücke als x-, y- und s-Werte verwendet werden sollen; und par1, par2, ... sind die anzupassenden Parameter. Man beachte, daß zwischen Fitfunktion und Datenfile kein Beistrich gesetzt wird. Der Verlauf des Fits, einschließlich der Endwerte der Fitparameter, wird laufend am Schirm ausgegeben. Eine "Mitschrift" aller Fitprotokolle wird in das File "fit.log" im momentanen Verzeichnis kopiert.