Diagrammer i Python

Lag enkle diagrammer fra to array-variabler for x- og y-verdiene.

📊 Hva er matplotlib?

Matplotlib er et Python-bibliotek for å lage diagrammer og grafer. Med to lister (arrays) – én for x-verdiene og én for y-verdiene – kan du tegne linjer, søyler og punktdiagrammer.

Importere matplotlib
# Importere biblioteket
import matplotlib.pyplot as plt
💡 Installering: Hvis du ikke har matplotlib, installer det med: pip install matplotlib

📈 Linjediagram

Et linjediagram viser utviklingen av verdier over tid eller langs en akse. Du lager det med plt.plot(x, y):

Linjediagram – Temperatur gjennom uken
import matplotlib.pyplot as plt

# x-verdier: ukedager (som tall)
dager = [1, 2, 3, 4, 5, 6, 7]

# y-verdier: temperatur i grader
temperatur = [12, 14, 11, 15, 18, 20, 17]

plt.plot(dager, temperatur)
plt.xlabel("Dag i uken")
plt.ylabel("Temperatur (°C)")
plt.title("Temperatur gjennom uken")
plt.show()

Her får du et linjediagram der x-aksen viser dagene og y-aksen viser temperaturen.

📉 Tilpasse linjediagrammet

Du kan endre farge, linjestil og legge til markører:

Tilpasset linjediagram
import matplotlib.pyplot as plt

x = [0, 1, 2, 3, 4, 5]
y = [0, 1, 4, 9, 16, 25]

# Rød linje med sirkelmarkører
plt.plot(x, y, color="red", marker="o", linestyle="--")
plt.xlabel("x")
plt.ylabel("x²")
plt.title("Kvadratfunksjonen")
plt.grid(True)      # Rutenett
plt.show()
ParameterEksemplerForklaring
color"red", "blue", "#8b5cf6"Farge på linjen
marker"o", "s", "^", "*"Markør-type på punkter
linestyle"-", "--", ":", "-."Stil på linjen

📊 Stolpediagram (bar chart)

Et stolpediagram er bra for å sammenligne kategorier. Bruk plt.bar(x, y):

Stolpediagram – Favorittfrukt
import matplotlib.pyplot as plt

frukt = ["Eple", "Banan", "Appelsin", "Druer", "Mango"]
antall = [12, 8, 15, 6, 10]

plt.bar(frukt, antall, color="#8b5cf6")
plt.xlabel("Frukt")
plt.ylabel("Antall stemmer")
plt.title("Favorittfrukt i klassen")
plt.show()

⚗️ Naturfag-eksempel: Fart og tid

La oss bruke programmering til å plotte en fysikk-graf med to arrays:

Fart over tid
import matplotlib.pyplot as plt

# Tid i sekunder
tid = [0, 1, 2, 3, 4, 5, 6, 7, 8]

# Fart i m/s
fart = [0, 2, 4, 6, 8, 10, 10, 10, 10]

plt.plot(tid, fart, color="#6366f1", marker="o", linewidth=2)
plt.xlabel("Tid (s)")
plt.ylabel("Fart (m/s)")
plt.title("Fart over tid – Akselerasjon og konstant fart")
plt.grid(True)
plt.show()

Denne grafen viser et objekt som akselererer de første 5 sekundene, og deretter holder konstant fart.

📐 Bygge arrays med for-løkke og plotte

Du kan bruke en for-løkke til å generere x- og y-verdier automatisk:

Generere data med for-løkke
import matplotlib.pyplot as plt

# Bygge x- og y-lister med en for-løkke
x = []
y = []

for i in range(0, 11):
    x.append(i)
    y.append(i ** 2)

print("x:", x)   # [0, 1, 2, ... , 10]
print("y:", y)   # [0, 1, 4, ... , 100]

plt.plot(x, y, color="#ec4899", marker="s")
plt.xlabel("x")
plt.ylabel("y = x²")
plt.title("Kvadratfunksjonen (generert med for-løkke)")
plt.grid(True)
plt.show()

📚 Oppsummering av viktige kommandoer

KommandoHva den gjør
import matplotlib.pyplot as pltImporterer plottbiblioteket
plt.plot(x, y)Tegner linjediagram
plt.bar(x, y)Tegner stolpediagram
plt.xlabel("tekst")Setter x-akse-tittel
plt.ylabel("tekst")Setter y-akse-tittel
plt.title("tekst")Setter diagram-tittel
plt.grid(True)Viser rutenett
plt.show()Viser det ferdige diagrammet