Göm meny
Gäller för: VT20

Lektion 4

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ö skapad med programmet virtualenv. För att skalet ska förstå att du ska använda den istället för den vanliga pythonmiljön som systemet tillhandahåller behöver du aktivera den.

Nedanstående aktiverar den virtuella miljö som ska användas både på denna lektion och när du sedan jobbar med laboration 4.

$ source /courses/TDDE44/venv_lab4/bin/activate

En virtuell miljö är aktiv tills du stänger skalet/terminalfönstret eller använder kommandot deactivate.

På egen dator

Om du jobbar på egen dator behöver du installera paketet matplotlib. För att hålla isär paket som används i olika projekt kan du använda dig av en virtuell miljö, men det är inte nödvändigt för kursens del.

Ö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.

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]$.

För att ta fram y-värdena, skriv även 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 som innehåller funktionen get_x_squared(), som modul.

Skriv sedan en funktion use_get_x_squared() som ritar ut nedanstående två grafer i samma diagram:

  1. $f(x)=x^2$ med intervallet $[-50, -20]$
  2. $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: 2021-02-24