Matplotlib#

Matplotlib är en modul som med vars hjälp man kan producera en mängs olika typer av diagram och bilder. Den här lektionen ger bara några små introducerande exempel. På den officiella sidan finns både handledningar, exempel och dokumentation. Dessutom finns många beskrivande videor på Youtube.

Trots att det är både flexibelt och kraftfullt är det mycket enkelt att komma igång.

Ett första, minimalt, exempel:

import matplotlib.pyplot as plt

v1 = [3, 5, 6, 5, 3, 7, 2]
plt.plot(v1)
plt.show()
../../_images/ex1.png

Kommentarer:

  • Vi använder undermodulen pyplot och importeras och ges plt. Detta är en standardnamngivining.

  • Funktionen plot bygger upp ett diagram med värden från den angivna listan jämnt fördelat i x-led.

  • Anropet show() ser till att diagrammet visas.

Provkör koden och undersök vad knapparna nere i vänstra hörnet kan användas till!

Vi kan lägga till flera plottar i samma diagram:

import matplotlib.pyplot as plt

v1 = [3, 5, 6, 5, 3, 7, 2]
v2 = [4, 5, 3, 2, 6, 5, 6]
plt.plot(v1)
plt.plot(v2)
plt.show()
../../_images/ex2.png

Det går att modifieras hur det ritas med parametrar.
Exempel:

import matplotlib.pyplot as plt

v1 = [3, 5, 6, 5, 3, 7, 2]
v2 = [4, 5, 3, 2, 6, 5, 6]
v3 = [x**0.5 for x in v2]
plt.plot(v1,
         linestyle='--',
         linewidth=3)
plt.plot(v2,
         linestyle=':',
         marker='o',
         color='red'
         )
plt.plot(v3,
         marker='^',
         markersize=10,
         linestyle=' ',
         color='green')
plt.show()
../../_images/ex3.png

I ovanstående exempel har vi bara haft en lista med y-värden som då har lagts ut med värdenas index som x-värden. Man kan också ange en lista med x-värden.
Exempel:

import matplotlib.pyplot as plt
from math import sin, cos

x_values = [x/5 for x in range(0, 32)]
y_sin = [sin(x) for x in x_values]
y_cos = [cos(x) for x in x_values]
plt.plot(x_values, y_sin, label='sin')
plt.plot(x_values, y_cos, label='cos')

plt.xlabel('Arguments')
plt.ylabel('Function values')
plt.legend()
plt.grid()
plt.title('Trigonometrics')
plt.show()
../../_images/trig.png

Här har vi satt en rubrik på diagrammet, texter på axlarna samt etiketter på kurvorna som visas med legend(). Vi har också lagt till ett rutnät (grid()).

Se vidare i pyplot-dokumentationen!