Die Zahl der Lehrbücher hat sich innerhalb des letzten Jahrzehnts verdreifacht. Den wachsenden Anforderungen begegnen Studenten und Schüler mit freien Programmen wie Geogebra oder Pyxplot.
Studenten haben es nicht leicht: Sie sitzen in Vorlesungen, in denen sie oft nur Bahnhof verstehen, und auch das empfohlene Lehrbuch trägt nicht dazu bei, die wöchentlichen Übungen erfolgreich zu bearbeiten. Da greifen viele zu Google oder schreiben schlicht von Kommilitonen ab. Doch die Informationen im Internet erweisen sich oft als fehlerhaft, und die Bücher, darunter solche der beliebten “Dummy”-Serie, decken selten alles ab.
Nicht viel anders steht es um die Schüler: Viele würden am liebsten die als unverständlich empfundenen Schulbücher nach dem Aufschlagen sofort wieder beiseitelegen. Kurz: Die Anforderungen sind gestiegen, und nicht jeder kommt mit dem Lehrplan zurecht. Zwar existieren kostenpflichtige Programme wie Matlab [1] oder Maple [2], doch der Open-Source-Sektor hält hier mit Pyxplot [3] und Geogebra [4] echte Alternativen bereit.
Installation
Pyxplot liegt bei vielen Distributionen bereits im Repository, sodass die Installation leichtfällt. Sollte die Software im Betrieb Meldungen bezüglich des Fehlens der Datei upgreek.sty ausgeben, benötigen Sie zusätzlich das Paket texlive-latex-extra (Listing 1) und müssen nach dessen Installation den Cache für die TeX-Dateien aktualisieren (zweite Zeile).
Listing 1
apt-get install pyxplot texlive-latex-extra texhash
Zum Formatieren des Texts, etwa für die Beschriftung der Achsen, benutzt das Tool zwar LaTeX, ist aber ansonsten ausschließlich als Programm für die Konsole konzipiert. Daher verbraucht es nur wenige Ressourcen und eignet sich selbst für den Betrieb auf einem Raspberry Pi.
Bei Geogebra sieht die Sache komplizierter aus: Etliche Distributionen bieten lediglich die bereits etwas angestaubte Version 4 an. Das bedeutet in der Praxis unter anderem, dass Sie weder 3D-Figuren noch Integrale berechnen können. Aus diesem Grund empfiehlt sich der Download der Version 6.0 von der Homepage [5].
Die heruntergeladene Datei entpacken Sie zunächst und wechseln anschließend ins neue Verzeichnis, wo ein einfacher Aufruf von ./GeoGebra genügt, um das Programm zu starten. Darüber hinaus bietet das Projekt DEB- und RPM-Pakete an, die Sie über die Bordmittel installieren [6].
Gnuplot-Imitat
Mit Pyxplot berechnen Sie unter anderem Ableitungen, geben 2D- oder 3D-Funktionen aus, erstellen Vektorgrafiken mit vordefinierten Formen wie Kreisen oder Rechtecken oder lesen Daten ein, um daraus neue zu berechnen, die als Ausgangspunkt für eine Grafik dienen. Mit anderen Worten: Sie verwenden die Software ähnlich wie eine Programmiersprache, setzen Schleifen ein, definieren Variablen oder nutzen Wenn-dann-Abfragen.
Das setzt aber voraus, dass Sie die Syntax beherrschen. Einen guten Überblick liefert das Handbuch [7], das Sie am besten vor dem Start durchlesen. So sind Sie dann in der Lage, die auf der Homepage gezeigten Beispiele nachzuvollziehen [8]. Darüber hinaus besteht die Möglichkeit, die Befehle in einem Skript festzuhalten, sodass Sie nicht jede Zeile einzeln auf der Konsole einzugeben brauchen. Ein solches Skript rufen Sie folgendermaßen auf:
$ pyxplot Skript.ppl
Die Software kann außerdem Umwandlungen von physikalischen Größen vornehmen. Dazu geben Sie auf der Kommandozeile pyxplot ein, um eine interaktive Sitzung zu starten. Der folgende Befehl wandelt dann etwa 98 Pascal in Bar um:
pyxplot> print 98*unit(Pa)/unit(bar)
Um den Zahlen die passenden Einheiten zuzuweisen, gibt es die Funktion unit(). Eine Liste mit möglichen Einheiten finden Sie im Anhang der Anleitung, wobei das Programm einige Listen auf der Konsole ausgibt. Mit dem Befehl print colors bekommen Sie Einblick in die Farbnamen, die das Tool erkennt.
Da das Programm in Python geschrieben ist, enthält es selbst Module, deren Definitionen Sie mit dem Print-Befehl ausgeben, gefolgt vom Namen des Moduls. So erhalten Sie mit dem folgenden Befehl eine Liste aller im Modul phy definierten physikalischen Konstanten:
pyxplot> print phy
Die Tabelle “Grundlegende Befehle” gibt einen Überblick der wichtigsten Pyxplot-Kommandos. Über die Tabulatortaste zeigt die Software darüber hinaus bei vielen Befehlen mögliche Vervollständigungen an, was im Alltag die Eingabe erleichtert. Die Tabelle “Zeichenbefehle” zeigt, wie Sie die Daten in Graphen umsetzen.
|
Befehl |
Bedeutung |
|---|---|
|
|
Hilfe aufrufen |
|
|
Variable einen Wert zuweisen |
|
|
Multiplikation |
|
|
exponentielles Rechnen |
|
|
Einheit festlegen |
|
|
Ableitung für einen Wert berechnen |
|
|
Integral mit den angegebenen Grenzen berechnen |
|
|
definierte Farben ausgeben |
|
|
Imaginärteil der komplexen Zahl |
|
|
Realteil einer komplexen Zahl |
|
|
Argument berechnen |
|
|
Wert einer Variable ausgeben |
|
|
Funktionsdefinition ausgeben |
|
|
physikalische Konstanten ausgeben |
|
|
Modus für komplexe Zahlen aktivieren |
|
|
Modus für reelle Zahlen aktivieren |
|
Befehl |
Bedeutung |
|---|---|
|
|
Art der Linien festlegen |
|
|
Breite einer Linie angeben |
|
|
Graph einer Funktion zeichnen |
|
|
3D-Zeichnung erstellen |
|
|
Größenverhältnis einer Achse zur X-Achse festlegen |
|
|
festlegen, wo eine Achse erscheint |
|
|
zwei mit |
|
|
Achse mit Pfeilen in beiden Richtungen |
|
|
Ort der Legende festlegen |
|
|
kein Gitternetz zeichnen |
|
|
Legende nicht ausgeben |
|
|
Ausgabedatei festlegen |
|
|
Farbpalette festlegen |
|
|
Titel der Zeichnung festlegen |
|
|
Breite der Zeichnung festlegen |
|
|
Zahl der Punkte, die Pyxplot entlang einer Achse evaluiert |
Wem komplexe Zahlen zu kompliziert klingen, der wechselt mithilfe von Pyxplot in den Modus für komplexe Zahlen und berechnet den Real- und Imaginärteil sowie das Argument (Listing 2). Listing 3 definiert zunächst die Funktionen f(x) und g(x) und legt die Variablen x und a fest, wobei a das Ergebnis beinhaltet.
Listing 2
pyxplot> set numerics complex pyxplot> print sqrt(-3*i) (1.2247449-1.2247449i) pyxplot> c = sqrt(-3*i) pyxplot> print Re(c) 1.2247449 pyxplot> print Im(c) -1.2247449
Listing 3
pyxplot> set numerics complex pyxplot> f(x) = 3*x + 5*i pyxplot> g(x) = -2*x - 3*i pyxplot> x = 3 pyxplot> a = f(x) + g(x) pyxplot> print a (3+2i)
Funktionsmulti Geogebra
In Geogebra dreht sich alles um sechs Features. Anders als Pyxplot erstellen Sie damit keine Kuchendiagramme oder Türschilder, stattdessen existieren etliche Funktionen rund um die Mathematik. Zunächst klicken Sie rechts oben auf das Menüsymbol und stellen unter Einstellungen | Sprache die gewünschte Sprache ein. Dann lassen sich Befehle wie Ableitung [Ausdruck] in der Sprache Ihrer Wahl eingeben.
Zum Starten wählen Sie im Menü unter Ansicht mindestens eins der sechs Features aus. CAS [9] dient zum Rechnen, etwa für Ableitungen, Integrale oder das Lösen von Gleichungen mit mehreren Unbekannten. Nach bestimmten Befehlen suchen Sie am einfachsten unter Hilfe | Handbuch beziehungsweise Anleitungen.
Für Ableitungen oder Integrale definieren Sie zunächst im CAS-Fenster die Funktion und bestätigen die Eingabe mit [Eingabe]. Anschließend geben Sie am darauf folgenden Prompt den Befehl Ableitung ein, zusammen mit der zuvor definierten Funktion:
Ableitung [Funktion]
Bei Gleichungen mit mehreren Unbekannten geben Sie die Funktionen der Reihe nach ein und verwenden zum Berechnen der Variablen den Befehl Löse [{Funktion},{Variable}]. Sie ermitteln mit dem Löse-Befehl außerdem Polynom-Funktionen eines bestimmten Grads (Abbildung 1).

Abbildung 1: Geogebra löst auf Wunsch Gleichungen mit mehreren Unbekannten. Um die Ergebnisse für bestimmte Variablen zu ermitteln, genügt es, diese zusammen mit den Gleichungen in der Liste einzutragen.
In Sachen komplexe Zahlen gibt sich Geogebra genauso umfassend wie Pyxplot. Berechnungen mit komplexen Zahlen dürfen Sie jedoch nur in der Algebra-Ansicht vornehmen [10]. Das Algebra-Fenster befindet sich genauso wie das CAS-Fenster unter Ansicht. Anders als bei Pyxplot müssen Sie hier nicht in einen komplexen Modus wechseln: Die Software erkennt i sofort als imaginäre Einheit.
Sofern Sie i bereits als Name einer Funktion wie i = 3 + x definiert haben, fügen Sie durch [Alt]+[I] die imaginäre Einheit ein. Um Rechenoperationen mit mehreren Funktionen vorzunehmen, definieren Sie erst die Funktionen. Anschließend ist es möglich, mit dem Befehl Funktion1 + Funktion2 diese miteinander zu addieren.
Zum Berechnen der Wurzel gibt es den Befehl NteWurzel[Ausdruck,n]. So erhalten Sie die Quadratwurzel der Funktion g = 3i mit NteWurzel[g,2]. Diesen Befehl dürfen Sie sowohl in der CAS- wie Algebra-Ansicht anwenden.
Ein weiteres Feature ist das Tabellenfenster [11], das LibreOffice Calc ähnelt. Um eine 2D-Grafik zu plotten, genügt es, in der ersten Spalte die X-Werte und in der zweiten Spalte die Y-Werte einzugeben. Danach wählen Sie zusätzlich das Grafikfenster aus [12]. Anschließend klicken Sie einmal in die Tabelle und dann einmal auf das Icon mit der Aufschrift “{1,2}”. Im Ausklappmenü wählen Sie dann Polygonzug zeichnen aus, damit die Funktion im Grafikfenster erscheint (Abbildung 2).

Abbildung 2: Geogebra ermöglicht es, mehrere Ansichten nebeneinander zu öffnen – hier das Tabellen-, Algebra- und Grafikfenster. Rechts außen sehen Sie die Eigenschaften der Funktion.
Standardmäßig stellt Geogebra Funktionen, Punkte oder Geraden schwarz dar. Mögen Sie es lieber bunt, öffnen Sie zusätzlich das Algebra-Fenster und ändern mit einem Rechtsklick auf die Funktion im Kontextmenü Eigenschaften die Farbe. Funktionen oder Punkte erscheinen in den einzelnen Grafik-Fenstern, wobei Sie diese zuvor im Algebra-Fenster definieren müssen.
Fortgeschrittene Themen
Bei mehreren Befehlssequenzen rät es sich unter Pyxplot an, diese in einer Datei abzulegen, damit Sie bei der Fehlersuche nicht wiederholt die Befehle einzugeben brauchen. Ein Kuchendiagramm benötigt Daten, etwa Prozentsätze, die in einer Datei stehen, sowie ein Skript, das das Diagramm erzeugt. Die Daten legen Sie in einer Datei mit der Endung .dat ab, wobei Sie sie vorab noch bereinigen sollten, indem Sie anstelle von 50% den Wert 0.50 in die Datei eintragen (Listing 4).
Listing 4
0.49 Microsoft~Windows 0.23 Apple~iOS 0.17 Android 0.09 Apple~Macintosh 0.01 Chrome~OS 0.01 Andere
Das dazugehörige Skript (Listing 5) beginnt mit dem Befehl set terminal png, mit dem Pyxplot das Format des Bilds festlegt. In diesem Fall gibt Pyxplot das Diagramm im PNG-Format aus (Abbildung 3). Die nächste Zeile beinhaltet den Dateinamen des erzeugten Bilds. Da unser Kuchendiagramm aus sechs verschiedenen Teilen besteht, braucht die Farbpalette die Farben für die einzelnen Teile (siehe set palette).
Listing 5
set terminal png set output Resultat.png set palette aquamarine,bittersweet,pinegreen,wildstrawberry,royalpurple,yellow set width 20 set title 'Die beliebtesten Betriebssysteme in \%' piechart Daten.dat using $1 label key "%s"%($2)

Abbildung 3: Das in Pyxplot erstellte Kuchendiagramm lässt sich sowohl in Farbe als auch grauschattiert ausgeben, da die Software mehrere Graustufen unterstützt.
Mit set width legen Sie die Größe des Diagramms fest. Sofern die Definition der Größe ohne Einheiten erfolgt, geht das Programm implizit von Zentimetern aus. Der Titel des Diagramms setzen Sie mit dem Befehl set title. Allerdings sollte vor Sonderzeichen, Leerzeichen, Tabs und Ähnlichem ein Backslash als Escape-Zeichen stehen (\<§§I>Zeichen<§§I>).
Der Befehl piechart erzeugt dann das Diagramm. In diesem Fall liest er die Daten aus Daten.dat aus, wobei die erste Spalte ($1) für die Prozentsätze steht. Die Beschriftung (siehe label key) der einzelnen Segmente kommen aus der zweiten Spalte ($2).
Pyxplot kommt selbst mit Funktionen mit mehreren Variablen zurecht, etwa, um ein Höhenliniendiagramm für einen bestimmten Wert von Z zu zeichnen (Abbildung 4). Um ein solches Diagramm zu erstellen, legen Sie zunächst die Beschriftung der Achsen mit dem Befehl fest (Listing 6). Das im Label auftauchende Dollar-Zeichen benutzen Sie, um die Einheiten der Achsen auszugeben. Da das Skript jedoch für die Achsen keine Einheiten definiert, erscheinen sie im Beispiel nicht.

Abbildung 4: Die Farbskala auf der rechten Seite steht für die einzelnen Z-Werte. So wandern die Höhenlinien mit zunehmendem Z-Wert nach links.
Listing 6
set terminal png
set output Resultat.png
set xlabel "$x$"
set ylabel "$y$"
set nokey
set size 20 square
set samples grid 1000x1000
set axis x atzero twoway
set axis y atzero twoway
set xrange [-10:10]
set yrange [-4:4]
set c1range [-4:8]
set c1tics 4
f(x,y) = 4*y**2 - 2*x - 2
plot f(x,y) with colormap, \
f(x,y) with contours col green lw 4 lt 1
Der Befehl set nokey blendet die Legende aus. Der Befehl set size verhält sich wie der bereits beschriebene Befehl set width, die Option square erzeugt ein quadratisches Bild.
Des Weiteren dürfen Sie bestimmen, welche Auflösung das Bild aufweist. Hier gilt: Je höher die Werte nach grid, desto feinkörniger fällt das Bild aus, je niedriger, desto pixeliger erscheint es. Falls die Zeichnung ohne Gitternetz auskommt, genügt der Befehl set nogrid. Mit set Achse [von:bis] legen Sie den Start- und Endwert einer Achse fest.
Bei 2D-Funktionen bezeichnet unter Pyxplot das c den Z-Wert. Im Höhenliniendiagramm aus unserem Beispiel ist es die erste Z-Achse, also c1 von -4 bis 8, in Vierer-Schritten markiert (siehe c1tics). Anschließend ist noch eine Funktion f(x,y) definiert.
Der Befehl plot zeichnet zunächst passend zur Funktion eine Farbtabelle (siehe colormap). Die zweite Zeile des Plot-Befehls definiert dann die Ausgabe der Höhenlinien. Hier zeichnet das Programm die Linien grün; sie weisen eine Breite von vier Einheiten auf (siehe lw) und sind vom Typ 1 (siehe lt).
Außerdem kann Pyxplot 3D-Zeichnungen für Funktionen mit drei Achsen (Abbildung 5) anfertigen. Hier legen Sie analog zum vorigen Beispiel mit set zrange die Länge der Z-Achse sowie die dazugehörige Beschriftung fest.

Abbildung 5: Die Farbe der Spirale hängt vom aktuellen X-Wert ab, den der Plot-Befehl gerade zeichnet.
Im Beispiel aus Listing 7 spezifiziert xformat, dass die Software die X-Werte als Vielfaches der Kreiszahl Pi ausgibt. Dabei steht %s für einen Wert innerhalb des X-Wertebereichs. Vor das Pi setzen Sie ein Escape-Zeichen, damit es als griechischer Buchstabe erscheint. Die Legende gibt das Programm unten aus, wobei es standardmäßig den Namen verwendet, sofern Sie nichts anderes angeben. Mit ratio legen Sie das Verhältnis zwischen den Achsen fest.
Listing 7
set terminal png set output Resultat.png set xlabel "$x$" set ylabel "$y$" set zlabel "$z$" set xformat r"%s$\pi$"%(x/pi) set key below set size 6 ratio 0.5 zratio 0.5 set grid set xrange [-10:10] set yrange [-1:1] set zrange [-1:1] plot 3d sin(x):cos(x) with lw 3 color hsb($1/20+0.5,0.9,0.8)
Im Beispiel fallen die Y- und Z-Achsen nur halb so groß aus wie die X-Achse. Für die Ausgabe einer 3D-Zeichnung müssen Sie das Schlüsselwort 3d benutzen. Zusätzlich muss der Plot-Befehl wissen, welche Y- und Z-Werte er einsetzen soll. Die X-Werte besorgt sich die Software aus dem zuvor via set xrange definierten Bereich, die Y-Werte erzeugt es durch die Sinus- und die Z-Werte durch die Kosinus-Funktion.
Zurück in die Zukunft
Anders als Pyxplot ist Geogebra nicht in der Lage, Kuchendiagramme zu zeichnen. Zumindest ließen sich weder online noch in der Anwendung selbst irgendwelche Hinweise darauf finden. Stattdessen bietet es etliche Funktionen rund um die Mathematik an. Dazu öffnen Sie sowohl das Grafik- als auch das Algebra-Fenster. Links oben erscheinen daraufhin Symbole, die zudem Untermenüs aufweisen. So können Sie Tangenten mit diesen Tools zeichnen oder Punkte beziehungsweise Geraden spiegeln.
Auch unter Geogebra lassen sich Höhenliniendiagramme zeichnen, die ja auch auf Funktionen beruhen (Abbildung 6). Dazu öffnen Sie sowohl das Grafik- als auch Algebra-Fenster. Sollen im Diagramm Linien für mehrere Z-Werte erscheinen, gelingt das mithilfe eines Schiebereglers.

Abbildung 6: Zum Animieren der Funktion blenden Sie durch einen Klick auf den Schieberegler im Algebra-Fenster den Play-Button ein.
Das Symbol für den Schieberegler befindet sich links oben. Sobald Sie darauf klicken, öffnet sich ein Fenster, in dem Sie die erforderlichen Angaben machen. Im Beispiel heißt der Schieberegler z und steht für den Z-Wert. Sein Intervall reicht in Vierer-Schritten von -4 bis 8. Außerdem sollte der Schieberegler nicht fixiert sein. Die Eingaben bestätigen Sie mit OK. Zu guter Letzt geben Sie im Algebra-Fenster in ein leeres Eingabefeld die folgende Funktion ein:
b:4y<+>2<+>-2x-2=Schieberegler
Sobald Sie den Schieberegler nach links beziehungsweise rechts bewegen, zeichnet die Software für Sie die Linien zum dazugehörigen Z-Wert. Das Ganze lässt sich animieren, indem Sie im Algebra-Fenster auf den Play-Schalter drücken. Außerdem erlaubt es das Programm, alle gewünschten Z-Werte auf einmal anzuzeigen. Dazu definieren Sie im Algebra-Fenster eine Liste mit Funktionsdefinitionen und den dazugehörigen Z-Werten:
Liste = {Funktion = Z-Wert}
Anders als mit Pyxplot gelang es im Test unter Geogebra nicht, die Spirale in mehreren Farben zu zeichnen (Abbildung 7). Die 3D-Zeichnungen betrachten Sie unter Geogebra im 3D-Grafik-Fenster [13]. Da es sich bei Spiralen um Kurven handelt, erzeugen Sie eine solche, indem Sie ins Algebra-Fenster folgenden Befehl eingeben:
$ Kurve[X-Werte,Y-Werte,Z-Werte,Parameter,Startwert,Endwert]

Abbildung 7: 3D-Darstellungen einer Funktion erscheinen im entsprechenden Ausgabefenster der Software.
Das Design des Koordinatensystems definieren Sie durch einen Rechtsklick auf die Funktion im Algebra-Fenster und einen weiteren Klick auf das Kontextmenü Eigenschaften. Auf der rechten Seite erscheint ein Seitenfenster, in dem Sie unter anderem angeben, welche Einheiten die Achsen aufweisen oder ob die Software die Werte der Achsen anzeigt.
Darüber hinaus besteht hier die Möglichkeit, 3D-Objekte zu drehen und zu wenden. Dazu klicken Sie links oben auf den Mauszeiger und bewegen dann anschließend die Zeichnung nach links oder rechts beziehungsweise oben oder unten.
Fazit
Pyxplot erfordert eine steile Lernkurve. Allerdings finden sich auf der Projekt-Homepage etliche Beispiele samt dazugehöriger Skripte. Das Programm ist weniger aufgebläht als Geogebra, sodass es sich auch für leistungsschwache Rechner eignet. Auch bei Geogebra lohnt es sich, vor dem Einsatz das Handbuch zu konsultieren, um die richtigen Befehle zu finden. Manche Eingaben sitzen nicht auf Anhieb, oder das Programm hängt sich auf. Die Animationen sowie 3D-Grafiken sind jedoch ein gelungenes Feature.
Infos
-
Pyxplot: http://pyxplot.org.uk
-
Geogebra: https://www.geogebra.org
-
Geogebra 6.0 Portable: https://download.geogebra.org/package/linux-port6
-
Geogebra 6.0: https://wiki.geogebra.org/en/Reference%3AGeoGebra_Installation?note=de
-
Pyxplot-Handbuch: http://pyxplot.org.uk/doc.html
-
Pyxplot-Beispiele: http://pyxplot.org.uk/examples/index.html
-
CAS-Ansicht: http://wiki.geogebra.org/de/CAS-Ansicht
-
Algebra-Ansicht: http://wiki.geogebra.org/de/Algebra-Ansicht
-
Tabellen-Ansicht: http://wiki.geogebra.org/de/Tabellen-Ansicht
-
Grafik-Ansicht: http://wiki.geogebra.org/de/Grafik-Ansicht
-
3D-Grafik-Ansicht: http://wiki.geogebra.org/de/3D_Grafik-Ansicht





