Zum Inhalt springen

Gnuplot

aus Wikipedia, der freien Enzyklopädie
Skriptfehler: Ein solches Modul „WLink“ ist nicht vorhanden.

[[Datei:Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.|150px]]
Ellipsoid
Basisdaten

Maintainer Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
Entwickler Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
Erscheinungsjahr Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
Aktuelle Version Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
(Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.)
Aktuelle Vorabversion Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
(Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.)
Betriebssystem Unix, GNU/Linux, Microsoft Windows, IBM OS/2, DOS, macOS, VMS, GEM, MorphOS
Programmier­sprache Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
Kategorie Grafiksoftware
Lizenz Gnuplot Copyright
gnuplot.sourceforge.net
Datei:Klein bottle.svg
Mit Gnuplot erstellte Kleinsche Flasche
Datei:Gnuplot.ogv
Beispielvideo
Datei:Gnuplot example fit.svg
Beispiel eines Fits mit gnuplot an reale Messdaten (Beschleunigung beim freien Fall, y-Komponente eines waagerechten Wurfes).

Gnuplot (Eigenschreibweise: gnuplot) ist ein skript- bzw. kommandozeilengesteuertes Computerprogramm zur grafischen Darstellung von Messdaten und mathematischen Funktionen (Funktionenplotter). Das Projekt Gnuplot wird seit 1986 kontinuierlich von einem internationalen Team ehrenamtlicher Entwickler vorangetrieben. Der Quellcode wird seit 2000 über SourceForge verwaltet.

Funktionsumfang[Bearbeiten]

Gnuplot erzeugt verschiedene zwei- und dreidimensionale Plots, die interaktiv manipuliert werden können (insb. Vergrößern und Drehen). Die Plots können auf dem Bildschirm dargestellt und in verschiedenen Grafikformaten (zum Beispiel EPS, PNG, SVG und andere) abgespeichert werden.

Gnuplot gestattet einerseits die Definition eigener Funktionen, die geplottet werden können. Andererseits liest Gnuplot auch (Mess-)Daten aus Dateien ein und stellt diese grafisch dar. Die Daten können durch Anwendung von Funktionen nachverarbeitet werden. Weiterhin kann Gnuplot funktionale Zusammenhänge an die Daten anpassen (Fitten, Ausgleichsrechnung).

Einsatzbereich[Bearbeiten]

Gnuplot stammt aus der Unix-Welt, läuft aber auf allen gängigen Betriebssystemen. Es besitzt keine eigene grafische Benutzeroberfläche, sondern wird von der Kommandozeile aus bedient oder über Skripte gesteuert. Ergänzend existiert eine Vielzahl grafischer Oberflächen für das Programm, etwa wxPinter<ref>Vorlage:Cite web</ref>, Xgfe, PlotDrop oder Qgfe unter Unix und wgnuplot unter Windows.

Im wissenschaftlichen Bereich ist Gnuplot sehr beliebt wegen seiner übersichtlichen Plots und der Möglichkeit, skriptgesteuert automatisch Plots aus Daten oder Messwerten zu erzeugen. Das Programm verarbeitet große Datenmengen effizient und ist im Vergleich zu kommerziellen Alternativen platzsparend und schnell. Die Originaldaten bleiben immer unangetastet und müssen auch nicht in einem „Worksheet“ vorgehalten werden.

Einbettung[Bearbeiten]

Gnuplot ist als eigenständiges Anwendungsprogramm konzipiert, nicht als Grafikbibliothek. Um Gnuplot als Unterprogramm in andere Anwendungen einzubinden, wird daher ein Gnuplot-Prozess gestartet und über eine Pipe gesteuert. Grafikkommandos und Daten können über die Pipe an Gnuplot gesendet und verarbeitet werden.

Zu den Nutzern dieses Betriebsmodus gehören zum Beispiel die Numerik-Software GNU Octave und das Computeralgebrasystem Maxima.

Name und Lizenz[Bearbeiten]

Gnuplot wird unter einer freien Lizenz vertrieben, welche Kopien und Modifikationen des Quellcodes gestattet. Modifizierte Versionen dürfen jedoch nur als Patches vertrieben werden.

Trotz seines Namens steht Gnuplot nicht in Verbindung mit dem GNU-Projekt und verwendet auch nicht die GNU General Public License: Ursprünglich sollte das Programm Newplot heißen. Da unter diesem Namen bereits eine Software existierte, benannten die Autoren ihr Projekt kurzerhand in Gnuplot um, was im amerikanischen Englisch homophon zum ursprünglichen Namen (= phonetisch gleich) ist. Das GNU-Projekt nennt seine Plot-Software wiederum plotutils.

Versionsgeschichte[Bearbeiten]

Version Veröffentlichung Anmerkungen
Ältere Version; nicht mehr unterstützt: 1.0 Vorlage:DatumZelle Erster Release
Ältere Version; nicht mehr unterstützt: 1.1 Vorlage:DatumZelle Änderungen: Diverse neue Terminal Treiber (darunter Postscript und Hercules), set dummy Funktion, Faktorisierungsoperator ! wird nun akzeptiert, für viele Funktionen wurde eine dynamische Speicherreservierung mit malloc() eingeführt, was einige Beschränkungen aufhob. Kommentarunterstützung
Ältere Version; nicht mehr unterstützt: 2.0 Vorlage:DatumZelle Änderungen: Diverse neue Terminal Treiber (darunter LaTeX, VGA, X11), Kommandozeilenargumente werden akzeptiert, Titel Option title für plot Funktion, replot Kommando, Speicherfunktion save, Autoscaling, noclip Funktion, set (grid, label, polar, offsets, size, tics out, xlabel) Funktion, erweiterte Kommentare, Plottingfunktionen linespoints und dots, interaktive Hilfe
Ältere Version; nicht mehr unterstützt: 3.0 Vorlage:DatumZelle Änderungen: Oberflächenfunktion splot sowie die Optionen isosamples, view, contour, cntrparam, mapping and surface. Erweiterung der tic, label und range Einstellungen und Einführung einer Z-Achse
Ältere Version; nicht mehr unterstützt: 3.4 Vorlage:DatumZelle Änderungen: Eine bessere Windows 3.x Unterstützung, OS/2 Support, Discrete Contour Levels, Funktion für die Wahrscheinlichkeitsdichte
Ältere Version; nicht mehr unterstützt: 3.5 Vorlage:DatumZelle
Ältere Version; nicht mehr unterstützt: 4.0 Vorlage:DatumZelle Folgendes wurde hinzugefügt: die Funktion defined(<Variablenname>), die Plot-Option smooth frequency, die Gitter-Optionen layerdefault, front, back<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. (tar.gz; Ehemals im Vorlage:Referrer (nicht mehr online verfügbar);Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden., Die Daten sind aus der NEWS Datei.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
Ältere Version; nicht mehr unterstützt: 4.4 Vorlage:DatumZelle Folgendes wurde hinzugefügt: neue Treiber für pngcairo pdfcairo wxt, Client-Seitiges interaktives Display mit dem HTML5 canvas-Element, bessere Internationalisierung, Unterstützung von Transparenz, neue Plot-Styles: circles rgbalpha<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. (txt; Ehemals im Vorlage:Referrer (nicht mehr online verfügbar);Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
Ältere Version; nicht mehr unterstützt: 4.6 Vorlage:DatumZelle Einführung von Befehlsblöcken mit Hilfe geschweifter Klammern<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar);Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
Ältere Version; nicht mehr unterstützt: 5.0 Vorlage:DatumZelle Neue Plotstile und Koordinatensysteme, der fit-Befehl kann nun mit bis zu zwölf Variablen umgehen, die RGB-Farben können nun einen Alphakanal besitzen und weitere Änderungen<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> Letzte Version 5.0.7<ref>gnuplot.sourceforge.net</ref>
Ältere Version; nicht mehr unterstützt: 5.2 Vorlage:DatumZelle Verbindung zweier Achsen über nichtlineare Funktion, erweiterte Unterstützung von Polardarstellung, neuer array Datentyp, Filter zur Erstellung von Histogrammen, neue Plotstile und weitere Änderungen,<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden.; ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> letzte Version 5.2.8<ref>gnuplot.sourceforge.net</ref>
Ältere Version; noch unterstützt: 5.4 Vorlage:DatumZelle Support für Voxelplots, Support für 64-Bit Arithmetik<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden.; ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>, aktuell 5.4.2 mit epidemiologischen Tag- und Wochenformaten<ref>gnuplot.sourceforge.net</ref>
Aktuelle Version: 6.0 Vorlage:DatumZelle Erweiterung der Befehlssprache, neue Ausgabeprotokolle, zusätzliche Plot-Styles<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden.; ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
Vorabversion: 6.1 Vorlage:DatumZelle pdf docu snapshot November 2024<ref>gnuplot.info (PDF) </ref>
Legende:
Ältere Version; nicht mehr unterstützt
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige Version

Beispiele[Bearbeiten]

Mathematische Funktionen[Bearbeiten]

Die Funktion <math>f(x)=x^2</math> wird zum Beispiel mit den folgenden Befehlen ausgegeben: <syntaxhighlight lang="gnuplot"> f(x)=x**2 plot f(x) </syntaxhighlight>

oder einfach

<syntaxhighlight lang="gnuplot"> plot x**2 </syntaxhighlight> Der mit Gnuplot erzeugte Graph sieht bei Wahl von SVG als Ausgabeformat wie folgt aus:

Beispiel für einen Gnuplot-Graphen
Beispiel für einen Gnuplot-Graphen

Diagramm mit externen Daten[Bearbeiten]

Mit Gnuplot lassen sich auch Diagramme zu beliebigen Datenzusammenstellungen erstellen: Die der Kurve zugrundeliegenden Daten befanden sich bei der Erstellung in separaten Dateien (in diesem Fall Banglapedia.dat und World_Factbook.dat) und sind auf der Bildbeschreibungsseite einzusehen. <syntaxhighlight lang="gnuplot"> set terminal svg enhanced size 350 200 set border 31 linewidth .3 # schmale Umgrenzung set output "bangladesh_population_1900to2010.svg" set xlabel "Year" set ylabel "Population (millions)" set key left top plot "Banglapedia.dat" using 1:($2/1e6) with linespoints title 'Banglapedia' ,\

    "World_Factbook.dat" using 1:($2/1e6) with linespoints title 'World Factbook'

</syntaxhighlight> Der Code erzeugt folgende Grafik:

Datei:Bangladesh population 1900to2010.svg
Ein mit Gnuplot erstelltes Diagramm

Literatur[Bearbeiten]

  • Philipp K. Janert: Gnuplot in action – understanding data with graphs. Manning, 2010, ISBN 978-1-933988-39-9.
  • Lee Phillips: Gnuplot Cookbook – over 80 recipes to visually explore the full range of features of the world’s preeminent open source graphic system. Packt Publishing, 2012, ISBN 978-1-84951-724-9.
  • Thomas Williams, Colin Kelley: Gnuplot 5.0 – Reference manual. Samurai Media Limited, 2015, ISBN 978-988-14436-4-9.

Weblinks[Bearbeiten]

Commons: Beispielplots mit Quelltext – Sammlung von Bildern, Videos und Audiodateien

Vorlage:Wikidata-Registrierung

Wikibooks: Gnuplot (englisch) – Lern- und Lehrmaterialien (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.)

Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.

Einzelnachweise[Bearbeiten]

<references />

Vorlage:HinweisbausteinVorlage:Wikidata-Registrierung