image image


Tutorial: IPython, Matplotlib und 3D

Meine Erkundungen der Fähigkeiten von Anaconda und IPython habe ich mit einem ersten Ausflug in die Welt der 3D-Darstellungen fortgesetzt:

image

Es scheint noch nicht allgemein bekannt zu sein, daß die Matplotlib seit einigen Releases auch die Darstellung von 3D-Plots beherrscht. Dazu muß als erstes (vorausgesetzt, die Qt-Konsole wurde mit der –pylab-Option aufgerufen) das mplot3d-Toolkit aufgerufen werden:

In [1]: from mpl_toolkits.mplot3d import Axes3D

Dann habe ich eine einfache, parametrische Kurve in Python beschrieben:

In [2]: theta = linspace(-4*pi, 4*pi, 100)
In [3]: z = linspace(-2, 2, 100)
In [4]: r = z**2 + 1
In [5]: x = r*sin(theta)
In [6]: y = r*cos(theta)

Und zum Schluß den Plot aufgerufen:

In [7]: ax = gca(projection='3d')
In [8]: ax.plot(x, y, z, label='Parametrische Kurve')
Out[8]: [<mpl_toolkits.mplot3d.art3d.Line3D at 0x104de7cd0>]
In [9]: ax.legend()
Out[9]: <matplotlib.legend.Legend at 0x104de7990>

Schon zeigte sich obige (Screenshot), nette Kurve. (Das Beispiel habe ich – leicht verändert – von dieser Seite übernommen.)

Caveat

Bei der 3D-Darstellung scheint manchmal das interaktive Plot-Fenster der Matplotlib seltsam leer zu bleiben. In diesen Fällen hilft es, einfach nur die Größe des Fensters mit der Maus ein wenig zu verändern, um ein redraw zu erzwingen.

(Kommentieren)  IPython, Matplotlib und 3D 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