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_values
anvä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_values
används som x-värden och listany_values
ska 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_values
används som rubriker för staplarna. Listany_values
används som värden för staplarna. Listorna måste vara lika långa.plt.ylabel(label)
: strängenlabel
används som etikett för y-axelnplt.xlabel(label)
: strängenlabel
används som etikett för x-axelnplt.title(title)
: strängentitle
anvä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