Matplotlib

Für meine Diplomarbeit, meine Publikationen und derzeit für meine Dissertation habe ich eine Python-Bibliothek wirklich lieben gelernt: Matplotlib.

Es handelt sich hierbei um eine extrem umfangreiche Bibliothek, die unter Python ein mit Matlab vergleichbares Arbeiten ermöglichen will. Während die numerischen Routinen, insbesondere die Array-Klasse, von Numpy und Scipy zur Verfügung gestellt werden (die ich sicherlich bald mit einem Beitrag würdigen werde) biete Matplotlib zahlreiche Möglichkeiten der Visualisierung in 2d und 3d (wobei der Schwerpunkt auf 2d liegt).

Anstatt lange zu erklären, starten wir am besten mit einem Beispiel:

from pylab import *                                                           

def f(t):                                                                   
    s1 = cos(2*pi*t)                                                          
    e1 = exp(-t)$                                                              
    return multiply(s1,e1)                                                   
                                                                             
t1 = arange(0.0, 5.0, 0.1)                                                   
t2 = arange(0.0, 5.0, 0.02)                                                   
                                                                             
plot(t1, f(t1), 'bo', t2, f(t2), 'k')                                      
title('Abklingende Schwingung', size='large', )                             
text(2, 0.65, r'$\cos(2 \pi t) \exp(-t)$', color='k')                       
xlabel('Zeit (s)', style='italic')                                            
ylabel('Spannung (mV)')
                                                                  
show()

Das resultierende Bild könnt ihr euch unten ansehen. Dort könnt ihr auch noch einige weitere Beispielplots sehen, die alle von matplotlib.sourceforge.net/gallery.html stammen.

Matplotlib ist ein wirklich sehr aktives Projekt, ein wunderbares Beispiel, was die Open-Source-Community möglich machen kann. Der Funktionsumfang wächst stetig. Einige Features sind:

An dieser Stelle bleibt mir nur noch, auf die hervorragende Dokumenation zu verweisen: http://matplotlib.sourceforge.net/