Du tror at å endre en variabel oppdaterer resultatet
Handler om: Dashbord (valg som oppdaterer), Variabel
Du tror at når du gir en variabel en ny verdi, blir alt som ble regnet ut fra den gamle verdien automatisk riktig igjen. Men Python regner bare når en linje faktisk kjører. Endrer du valgt_alder etter at utvalget er laget, står utvalget og diagrammet igjen med den gamle verdien — helt til koden som lager dem, kjøres på nytt.
Eksempel
Du setter valgt_alder = "18" og kjører plt.show() på nytt. Diagrammet er uendret, fordi plt.show() bare VISER figuren som allerede er tegnet — den regner ingenting om.
Slik tenker du riktig om det
Skill «verdien» fra «resultatet». En utregning er et fotografi av verdiene slik de var i det øyeblikket linja kjørte. Nytt bilde får du bare ved å knipse på nytt — altså ved å kjøre koden om igjen. Derfor samler vi alt som avhenger av valget på ett sted vi kan kalle igjen.
Slik ser det ut i kode
Slik gikk det galt
valgt_alder = "17"
utvalg = [e for e in data if e["alder"] == valgt_alder]
valgt_alder = "18" # utvalg er FORTSATT 17-aaringene
plt.bar(...) # tegner det gamle utvalget Slik fikser du det
def vis(alder): # alt som avhenger av valget, inn hit
utvalg = [e for e in data if e["alder"] == alder]
plt.bar(...)
vis("17")
vis("18") # ny verdi -> koden kjoeres paa nytt