Matplotlib

Tworzenie naukowych wykresów w Pythonie za pomocą modułu matplotlib umożliwiającego generowanie wykresów liniowych, słupkowych, czy punktowych

Matplotlib to biblioteka-aplikacja napisana w pythonie służąca do tworzenia różnego rodzaju wykresów. Dostępna powinna być w większości dystrybucji linuksa, a jeżeli jej nie ma lub chcemy np. wersję dla MS Windows to wystarczy odwiedzić stronę projektu.

Pierwszy wykres

Najprostszy wykres utworzymy korzystając z kodu:
from pylab import *
# wartości osi Y
plot([1,2,3,4])
savefig('wykres.png')
Wynik zostanie zapisany w postaci pliku PNG. W powyższym przykładzie określiliśmy jedynie wartości osi Y. Matplotlib przyjmie domyślne (od zera, co 1) wartości dla osi X. Poniższy przykład zawiera określone punkty obu osi:
from pylab import *
# [oś X], [oś Y]
plot([1,2,3,4], [1,4,9,16])
savefig('wykres.png')
Funkcja plot jest dość potężna i łatwo modyfikować cały wykres dodając i modyfikując parametry tej funkcji. By uzyskać wykres punktowy wystarczy podać trzeci argument. 'ro':
from pylab import *
plot([1,2,3,4], [1,4,9,16], 'ro')
axis([0, 6, 0, 20])
savefig('wykres.png')
Dodatkowo użyłem funkcji axis[xmin, xmax, ymin, ymax] określającej skalę wykresu.
Kolejny przykład ilustruje sposób umieszczania kilku krzywych na wykresie oraz różne formatowanie każdego z nich:
from pylab import *
t = arange(0.0, 5.2, 0.2)

# czerwona linia, niebieskie kwadraty, zielone trójkąty
plot(t, t, 'r', t, t**2, 'bs', t, t**3, 'g^')
savefig('wykres.png')


Tekst i etykiety

Do ustawienia etykiet osi X i Y służą funkcje xlabel i ylabel a do ustawienia tytułu funkcja title. Oto przykład bazujący na wcześniejszym przykładzie:
from pylab import *
xlabel('dane startowe (x)')
ylabel('wynik (y)')
title('Wykres')
plot([1,2,3,4], [1,4,9,16])
savefig('wykres.png')

Tekst umieszczany na wykresach można modyfikować. Funkcja text i wszystkie wyżej wymienione zwracają instancję obiektu Text, którą wykorzystujemy do modyfikowania parametrów wyświetlanego tekstu.
alpha - określa przeźroczystość w skali od 0 do 1
color - kolor tekstu, argumenty pylab colors
fontsize - rozmiar czcionki
fontweight - krój czcionki, wartości: normal | bold | light.
horizontalalignment - ustawienie w poziomie, wartości: left | center | right
verticalalignment - ustawienie w pionie, wartości: bottom | center | top
rotation: płaszczyzna wyświetlania napisu (wyświetlać go w pionie czy w poziomie), wartości: horizontal | vertical

By ustawić parametry danego tekstu wystarczy skorzystać z setp, o tak:
from pylab import *
x = xlabel('dane startowe (x)')
setp(x, color='g', fontweight='bold')
ylabel('wynik (y)')
title('Wykres')
plot([1,2,3,4], [1,4,9,16])
savefig('wykres.png')
Kolor zielony, czcionka pogrubiona.
blog comments powered by Disqus

Kategorie

Strony