Göm meny

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

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:

  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: 2023-09-22