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 biblioteket
import matplotlib.pyplot as pltpip install matplotlib📈 Linjediagram
Et linjediagram viser utviklingen av verdier over tid eller langs en
akse. Du lager det med plt.plot(x, y):
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:
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()| Parameter | Eksempler | Forklaring |
|---|---|---|
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):
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:
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:
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
| Kommando | Hva den gjør |
|---|---|
import matplotlib.pyplot as plt | Importerer 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 |