Lektion inför Temauppgift 3
På lektionen introduceras paketet matplotlib
som kan användas till att
rita ut diagram med Python.
Bra att läsa innan/under lektionen
Aktivera virtuell miljö
Till denna laboration behöver vi använda oss av bl.a. paketen matplotlib
som tillhandahåller funktionalitet för att rita olika typer av diagram. Du kan se exempel på några diagram som skapats med matplotlib
här.
Paketet finns installerat i en i en virtuell pythonmiljö som ligger i katalogen /courses/729G46/729G46-venv
. Du måste aktivera den virtuella miljön för att använda den.
Läs informationen på sidan om Virtuella miljöer för att ta reda på hur du aktiverar den virtuella miljön.
Övning 1: Testa pyplot - spara diagram till bildfiler
Vi kommer att använda matplotlib.pyplot
för att rita diagram. Vi kommer dock
att skapa bildfiler istället för att visa diagrammen i Jupyter Notebook som är
vad de flesta tutorials på webben använder.
- Prova koden under rubriken “Rita diagram” på sidan om Matplotlib
- Läs även på sidan om skillnaden mellan spara diagram till fil och att skapa diagram i Jupyter
Här är diagrammet ni bör få:
Övning 2: Ett enkelt diagram
Med utgångspunkt i koden på sidan om Matplotlib,
skriv en funktion som ritar ut punkterna för $f(x) = x^2$, för alla $x$ som är i
det slutna intervallet $[-5,5]$ (alla heltal mellan -5 och 5 inklusive -5 och 5).
Bilden ska sparas till filen ovn2.png
.
För att ta fram y-värdena, skriv funktionen get_x_squared(x_values)
som returnerar en lista med alla y-värden för $f(x) = x^2$ för alla heltal
i listan x_values
.
Här är diagrammet ni bör få:
Tips: Man kan skapa en lista med hjälp av range()
. Skapa listan [0, 1, 2, 3]
: list(range(4))
eller så kan man använda sig av s.k. list
comprehensions,
(ännu en
länk).
Övning 3: Flera linjer i samma diagram
Funktionen plt.figure()
skapar en ny figur. Så länge som vi inte anropar
plt.figure()
igen, så kommer alla anrop till t.ex. plt.plot()
ändra på den
nuvarande figuren.
Skriv en funktion som ritar ut linjen som består av punkterna $((0,1), (5,10), (10,17))$ och linjen som består av punkterna $((3,3), (6,6), (9,9))$ i samma figur. Funktionen ska spara figuren till en fil.
Här är diagrammet ni bör få:
Övning 4: Använda en pythonfil som en modul
Skapa en ny fil och importera filen med funktionen get_x_squared()
(från
Övning 2) som modul.
Skriv sedan en funktion use_get_x_squared()
som ritar ut nedanstående två
grafer i samma diagram:
- $f(x)=x^2$ med intervallet $[-50, -20]$
- $f(x)=x^2$ med intervallet $[20, 50]$
Funktionen use_get_x_squared()
ska använda sig av den importerade funktionen
get_x_squared()
.
Här är diagrammet ni bör få:
Sidansvarig: Johan Falkenjack
Senast uppdaterad: 2024-07-26