We hebben in het vorige hoofdstuk reeksen gegenereerd met NumPy. Hier is een voorbeeld:
import numpy as np
# Genereer een reeks getallen van 0 tot en met 9
x = np.arange(10)
print(x)
In dit voorbeeld:
np.arange(10)
genereert een reeks met de waarden van 0 tot en met 9.print(x)
drukt de reeks af.Wanneer je dit uitvoert, zie je dat x
niet één enkele waarde bevat, maar een reeks van waarden:
[0 1 2 3 4 5 6 7 8 9]
Dit noemen we een list
. Waar een gewone variabele slechts één getal of een string bevat, kan je in een list een hele reeks opslaan.
Een list
is een reeks van variabelen die allemaal van hetzelfde type zijn. In plaats van elke waarde op te slaan in een afzonderlijke variabele, kun je een list
gebruiken om meerdere waarden samen op te slaan. Lists zijn handig voor het opslaan en verwerken van lijsten met gegevens.
Je kunt ook zelf een list maken, zonder NumPy.
Vaak wordt in plaats van list ook het woord `Array` gebruikt.
# Maak een array van getallen
getallen = [1, 2, 3, 4, 5]
print(getallen)
# Maak een array van strings
woorden = ["hond", "kat", "konijn"]
print(woorden)
Alle elementen van een lists overlopen, dat noemen we itereren
. Je kunt for
-loops gebruiken om over de elementen van een list te itereren.
getallen = [1, 2, 3, 4, 5]
for nummer in getallen:
print("Het getal is:", nummer)
woorden = ["hond", "kat", "konijn"]
for woord in woorden:
print("Het woord is:", woord)
Lists bieden veel nuttige mogelijkheden. Hier zijn enkele belangrijke bewerkingen die je kunt uitvoeren op lists.
Je kunt elementen toevoegen aan een list met de methode append
.
getallen = [1, 2, 3]
getallen.append(4)
print(getallen) # Output: [1, 2, 3, 4]
Je kunt elementen verwijderen uit een list met de methode remove
.
woorden = ["hond", "kat", "konijn"]
woorden.remove("kat")
print(woorden) # Output: ["hond", "konijn"]
Je kunt de lengte van een list (het aantal elementen) bepalen met de functie len
.
getallen = [1, 2, 3, 4, 5]
print("De lengte van de list is:", len(getallen)) # Output: 5
Probeer nu zelf enkele oefeningen om te oefenen met lists.
Oefening 1: Maak een list van getallen van 1 tot en met 10 en druk elk element af.
Oefening 2: Maak een list van strings met de namen van drie kleuren en druk elk element af.
Oefening 3: Voeg een nieuw element toe aan een list en druk de list af.
Oefening 4: Verwijder een element uit een list en druk de list af.
Oefening 5: Bepaal de lengte van een list en druk deze af.
Oefening 6: Maak een list van getallen en gebruik een for
-loop om het gemiddelde van de getallen in de list te berekenen en af te drukken.
Oefening 7: Maak een list van getallen en gebruik een for-loop om de waarde van elk element in de list te verdubbelen en die waarde op te slaan in een nieuwe list. Druk de nieuwe list af.
Oefening 8: Maak een list en gebruik een for-loop om een nieuwe list te maken die de elementen van de oorspronkelijke list in omgekeerde volgorde bevat.
Voor deze oefening gebruik je range op een andere manier dan je gewoon bent. Zoek op het internet op hoe je de elementen van een list van achter naar voor afgaat.
Voordat je Matplotlib kan gebruiken, moeten je het installeren. Numpy heb je al geinstalleerd, maar deze keer pakken we het veiliger aan. Het is een goed idee om een virtuele omgeving te gebruiken om je Python-projecten georganiseerd te houden en afhankelijkheden te beheren.
Ctrl-Shift-P
in. Hiermee open je het command window bovenaan.Python: Select Interpreter
.Create Virtual Environment
.Venv
.Global
naast staat.Voor wie het graag grafisch ziet gebeuren:
Installeer Matplotlib: Open een terminal en typ:
pip install matplotlib
Nu ben je klaar om Matplotlib te gebruiken in je Python-projecten! Je kan deze virtuele omgeving voor al je oefeningen gebruiken. Zo kan je ook experimenteren met nieuwe libraries, zonder dat je aan de eigenlijk python installatie raakt. Als er iets mis gaat, dan kan je de .venv
folder verwijderen en deze stappen opnieuw uitvoeren.
Met Matplotlib kun je verschillende soorten grafieken maken. Hier zijn enkele basisvoorbeelden. Kopiër de voorbeelden naar je editor en experimenteer ermee.
import matplotlib.pyplot as plt
# Gegevens
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
# Maak een lijngrafiek
plt.plot(x, y)
# Voeg een titel en labels toe
plt.title("Voorbeeld van een Lijngrafiek")
plt.xlabel("X-as")
plt.ylabel("Y-as")
# Toon de grafiek
plt.show()
import matplotlib.pyplot as plt
# Gegevens
labels = ['A', 'B', 'C', 'D', 'E']
waarden = [5, 7, 3, 8, 4]
# Maak een staafdiagram
plt.bar(labels, waarden)
# Voeg een titel en labels toe
plt.title("Voorbeeld van een Staafdiagram")
plt.xlabel("Categorieën")
plt.ylabel("Waarden")
# Toon de grafiek
plt.show()
import matplotlib.pyplot as plt
# Gegevens
x = [1, 2, 3, 4, 5]
y = [1, 4, 2, 5, 3]
# Maak een scatterplot
plt.scatter(x, y)
# Voeg een titel en labels toe
plt.title("Voorbeeld van een Scatterplot")
plt.xlabel("X-as")
plt.ylabel("Y-as")
# Toon de grafiek
plt.show()
Matplotlib kan zeer nuttig zijn in vakken zoals wiskunde en fysica, omdat het helpt bij het visualiseren van data en concepten. Hier zijn enkele voorbeelden van hoe Matplotlib kan worden gebruikt:
Je kunt Matplotlib gebruiken om grafieken van wiskundige functies te tekenen. Bijvoorbeeld, een grafiek van de sinusfunctie:
import matplotlib.pyplot as plt
import numpy as np
# Gegevens
x = np.linspace(0, 2 * np.pi, 100)
y = np.sin(x)
# Maak een grafiek van de sinusfunctie
plt.plot(x, y)
# Voeg een titel en labels toe
plt.title("Grafiek van de Sinusfunctie")
plt.xlabel("X-as")
plt.ylabel("Y-as (sin(x))")
# Toon de grafiek
plt.show()
In dit voorbeeld:
np.linspace(0, 2 * np.pi, 100)
Deze functie van numpy genereert ook een lijst met getallen. Maar het werkt wat anders. Lees de instructie als *genereer 100 getallen tussen 0 en 2 maal pi, gelijkmatig (linear) verdeeld.np.sin(x)
maak een lijst met de sinus van elk getal in x
.In de fysica kun je Matplotlib gebruiken om bewegingsgrafieken te maken. Bijvoorbeeld, een grafiek van een vallend object onder invloed van zwaartekracht:
import matplotlib.pyplot as plt
# Gegevens
t = [0, 1, 2, 3, 4, 5] # tijd in seconden
y = [0, 5, 20, 45, 80, 125] # afstand in meters
# Maak een bewegingsgrafiek
plt.plot(t, y)
# Voeg een titel en labels toe
plt.title("Bewegingsgrafiek van een Vallend Object")
plt.xlabel("Tijd (s)")
plt.ylabel("Afstand (m)")
# Toon de grafiek
plt.show()
Bijna tijd voor oefeningen! Voor je begint nog even een paar mogelijkheden van numpy, die je nodig hebt bij deze oefeningen.
De functie numpy.linspace
genereert een array/list van gelijkmatig verdeelde waarden over een gespecificeerde interval.
Syntax:
numpy.linspace(start, stop, num=50)
Parameters:
start
: Het begin van het interval.stop
: Het einde van het interval.num
: Het aantal waarden om te genereren (standaard is 50).Voorbeeld:
import numpy as np
values = np.linspace(0, 10, 5)
print(values) # Output: [ 0. 2.5 5. 7.5 10. ]
De functie numpy.random.randint
genereert willekeurige gehele getallen.
Syntax:
numpy.random.randint(low, high, size)
Parameters:
low
: De laagste (inclusief) integer om te genereren.high
: De hoogste (exclusief) integer om te genereren. Als dit niet is opgegeven, genereert de functie getallen van 0 tot low
.size
: Het aantal willekeurige getallen of de vorm van de list.Voorbeeld:
import numpy as np
random_values = np.random.randint(1, 10, size=5)
print(random_values) # Output: Een array van 5 willekeurige gehele getallen tussen 1 en 9
De functie numpy.sin
berekent de sinus van elk element in een array.
Syntax:
numpy.sin(x)
Parameters:
x
: De input array (in radialen).Voorbeeld:
import numpy as np
angles = np.linspace(0, 2*np.pi, 100)
sin_values = np.sin(angles)
print(sin_values)
De functie numpy.cos
berekent de cosinus van elk element in een array.
Syntax:
numpy.cos(x)
Parameters:
x
: De input array (in radialen).Voorbeeld:
import numpy as np
angles = np.linspace(0, 2*np.pi, 100)
cos_values = np.cos(angles)
print(cos_values) # Output: [ 1. 0. -1.]
De functie matplotlib.pyplot.legend
wordt gebruikt om een legenda toe te voegen aan een grafiek, waardoor de verschillende datasets of lijnen in de grafiek worden geïdentificeerd.
Syntax:
matplotlib.pyplot.legend()
Voorbeeld:
import matplotlib.pyplot as plt
import numpy as np
# Gegevens genereren
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# Plotten van de gegevens
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
# Legenda toevoegen
plt.legend()
# Titel en labels toevoegen
plt.title("Voorbeeld van Sinus en Cosinus")
plt.xlabel("x-waarde")
plt.ylabel("y-waarde")
# Grafiek tonen
plt.show()
In dit voorbeeld:
label='sin(x)'
en label='cos(x)'
in de plt.plot
-functies geven aan welke naam aan elke dataset moet worden gegeven.plt.legend()
toont de legenda met de opgegeven labels.Taak: Gebruik NumPy om de waarden van een wiskundige functie te berekenen en plot deze met Matplotlib.
Beschrijving: Maak een grafiek van de functie (y = x^2) voor (x) waarden van 0 tot 10.
Taak: Maak een staafdiagram van willekeurige gegevens.
Beschrijving: Genereer een array van willekeurige waarden en plot deze als een staafdiagram.
Taak: Maak een scatterplot van twee wiskundige functies.
Beschrijving: Plot de functies (y = sin(x)) en (z = cos(x)) als een scatterplot voor (x) waarden van 0 tot 2π.
Taak: Maak een histogram van willekeurige gegevens.
Beschrijving: Genereer een array van 1000 willekeurige getallen en plot een histogram om de verdeling van de gegevens te laten zien. Als je niet weet wat een histogram is en hoe je er een maakt met matplotlib kan je dat zeker opzoeken.
Taak: Maak een lijngrafiek van meerdere reeksen gegevens.
Beschrijving: Genereer twee reeksen gegevens en plot beide reeksen op dezelfde grafiek.