Matplotlib
Matplotlib är ett paket som används för att rita diagram med Python. Ofta används det via Jupyter Notebook som är en webbapplikation där man interaktivt kan skriva och köra pythonkod. I Jupyter så kan man se diagrammen direkt i webbläsaren. Vi kommer dock mest jobba med skript som skapar diagrammen som filer.
Du kan testa att skapa diagra interaktivt genom att klicka här.
I många fall där diagram ska skapas lagras data i datatyper vars struktur är optimerad för att snabbt kunna utföra matematiska operationer på. Det paket som tillhandahåller dessa är NumPy. Paketet NumPy importeras oftast med
import numpy as np
för att korta ner mängden kod som behöver skrivas.
Installera matplotlib på egen dator
Du installerar matplotlib på din egen dator genom att skriva ($ refererar
till prompten och ska inte skrivas)
$ python3 -m pip install matplotlib
Om du vill kan du installera paketet i en egen virtuell miljö (se Virtuella miljöer). Du kan läsa mer om att installera paket på sidan Installera paket.
Rita diagram
Nedan hittar ni ett exempel på hur matplotlib används för att rita ett diagram
och spara det till fil.
|
|
Flera exempel hittar ni på sidan Pyplot tutorial
samt i avsnitten längre ner på denna sida. I denna kurs kommer vi endast att rita enklare
diagram med plot()-funktionen.
Skillnad mellan att köra kod i Jupyter Notebook och som skript
För denna kurs finns det två huvudsakliga skillnader mellan att köra pythonkod
som genererar diagram i Jupyter Notebook och som ett skript. Den första är att
vi behöver berätta för matplotlib att vi vill skapa PNG-filer och inte visa
dem direkt. För detta behövs följande två rader kod som måste skrivas innan
importen av matplotlib.pyplot.
|
|
Den andra skillnaden är att eftersom vi sparar filerna istället för att visa dem
behöver använda plt.savefig(filnamn) istället för plt.show(). filnamn ska
vara en sträng med namnet på filen som vi vill spara figuren till.
Kort om funktionen plot()
Paketet matplotlib har en modul som heter pyplot. I modulen pyplot finns
funktionen plot() definierad som vi använder för att rita ut enklare grafer.
Import
För att få tillgång till funktionen måste vi importera modulen pyplot. Detta
kan vi göra genom att skriva
|
|
Vi kan då anropa på funktionen plot() med argumentet [1, 2, 3] genom att
skriva matplotlib.pyplot.plot([1, 2, 3])
Detta lite väl långt så därför brukar ge modulen matplotlib.pyplot ett alias
när man importerar den:
|
|
På så sätt kan man referera till matplotlib.pyplot med symbolen plt
istället: plt.plot([1, 2, 3]).
Syntax
Nedan följer en kort sammanfattning av vanliga funktioner för att rita ut
diagram med pyplot. plt refererar till matplotlib.pyplot.
plt.figure(): Påbörjar en ny figur.plt.plot(y_values): Ritar ut en linje i aktuell figur. Listany_valuesanvänds som y-värden.plot()antar att att det första värdet är för $x=0$, det andra för $x=1$ osv.plt.plot(x_values, y_values): Ritar ut en linje i aktuell figur. Listanx_valuesanvänds som x-värden och listany_valuesska innehålla matchande y-värden. Listorna måste vara lika långa.plt.bar(x_values, y_values): Ritar ut ett stapeldiagram i aktuell figur. Listanx_valuesanvänds som rubriker för staplarna. Listany_valuesanvänds som värden för staplarna. Listorna måste vara lika långa.plt.ylabel(label): strängenlabelanvänds som etikett för y-axelnplt.xlabel(label): strängenlabelanvänds som etikett för x-axelnplt.title(title): strängentitleanvänds som rubrik för figurenplt.savefig(filename): sparar aktuell figur till filenfilename(som ska vara en sträng)plt.xkcd(): ändra stil på diagrammen så att de ser ut som att de kommer från xkcd
Referenser
Sidansvarig: Johan Falkenjack
Senast uppdaterad: 2021-02-24
