Jenter og teknologi
Skrevet av: Béatrice Bieuville
Introduksjon
Speler det noko rolle å vera ei jenta eller ein gut når det gjeld å velja utdanning? Finst det eit kjønnsgap? I denne oppgåva skal du undersøkja spørsmålet, ved å laga ei programvare som viser data i eit diagram. Data som du skal bruke vart henta på samordnaopptak.no. Du skal programmera i Python, som er eit veldig godt programmeringsspråk for å handtere datasett.
Førebu koding
Her skal du henta filene som trengs, og førebu programmering i Python.
Sjekkliste
.csv (for comma-separated values) er eit format for å lagra tabelldata i tekstform. Data frå ein vanleg tabell er lagra som tekst og ser slik ut:
Olympe de Gouges, 1791
Simone de Beauvoir, 1949
Simone Veil, 1975
I .csv-fila er det ,
eller ;
mellom kvar kolonne.
Trinket gjer det mogleg å skrive og køyre Python i nettlesaren. Vanlegvis køyrer Python på PCen, ikkje i nettlesaren.


Bygg diagrammet i main.py
No skal du laga eit diagram for å presentera data frå tabellen du har importert. Skriv koden under i main.py.
Sjekkliste
import matplotlib.pyplot as plt
import numpy as np
Det er OK å vera litt lat av og til. Dermed tilsetter me as np
, slik at me kan skrive np
i staden for numpy
i koden.
x1 = np.genfromtxt('jenter-teknologi.csv', skip_header=1, usecols=(0), unpack=True, delimiter=',')
I programmering startar ikkje data indexen på 1. Den aller fyrste tingen i ei liste har index 0.
y1 = np.genfromtxt('jenter-teknologi.csv', skip_header=1, usecols=(1), unpack=True, delimiter=',')
plt.plot(x1,y1, marker='p')
plt.show()
Test prosjektet

Prøv sjølv
- Endre nummer etter
skip_header
og køyr koden ein gong til. Kva skjer? Kvifor bruker meskip_header
?
Utfordring #1
Når du teikna diagrammet, skreiv du plt.plot(x,y, marker='p')
. Kan du endre på det og velja sjølv kva type marker
du vil bruke?
Tips
Prøv andre marker som finns i matplotlib dokumentasjon. Køyr koden ein gong til. Kva skjer?
Utfordring #2
I .csv-filene: endre alle ,
med ;
og køyr koden. Kva skjer? Kan du fiksa koden i main.py
slik at den kan lese .csv-filene som no innheld ;
?
Tips
Sjekk delimiter
parameter i main.py
.
Tilsett kontekst
No har du eit diagram, men det står ikkje kva informasjon det viser. Desse linjene treng du å skrive over plt.show()
.
Sjekkliste
plt.xlabel('År')
plt.ylabel('Andel jenter per 100 søkjarar')
plt.title('Andel jenter som vel teknologi utdanning som fyrsteval')
Test prosjektet
Trykk på køyr-knappen (over main.py tittelen).
Tilsett ei andre linje med data
Det kunne vera interessant å samanlikna data. No veit me kor mangeav søkjarane innan teknologi som er jenter. Kva med andre utdanningsområder? No skal du laga ein andre linje i diagrammet for å samanlikna data.
Import data
Utfordring #3
- Kan du laga ein variabel
x2
, og lagra data frå kolonna0
i jenter-helsefag.csv inni den? - Kan du laga ein variabel
y2
, og lagra data frå kolonna1
i jenter-helsefag.csv inni den?
Tips
- Denne delen av koden må du skrive rett etter
x1- og
y1`-variablane. - Du treng å bruke
np.genfromtxt
. - Måten å gjera det er det same når du har laga variablane
x1
ogy1
.
Sjekkliste
plt.plot(x1,y1, marker='p')
og i staden skrive (over plt.show()
):
ax = plt.subplot()
linje1 = ax.plot(x1,y1, label="teknologi")
linje2 = ax.plot(x2,y2, label="helsefag")
ax.legend()
Utfordring #4
Kan du oppdatera tittelen til diagrammet?
Test prosjektet
Trykk på køyr-knappen.
Prøv sjølv
- Kva skjer om du endrer
label="teknologi"
oglabel="helsefag"
?
Utfordring #5
- Kan du bytta fargen til linjene? Du kan prøva å endre fargen til tittelen og labelene òg.
Tips
For å gjera det treng du å bruke parameter color
:
linje1 = ax.plot(x1,y1, color="")
Du kan velja fargen du vil bruka blant dei som står i denne lista
Lagre og del
Du har laga ei programvare som viser fleire dataset i eit diagram.
Programvara har laga eit bilete som heiter trinket_plot.png
. Du kan trykkja på det for å åpna biletet i ei ny fane og lagra det.
Kva viser diagrammet når det gjeld datasetta som du har samanlikna?
Forbedre denne siden
Funnet en feil? Kunne noe vært bedre?
Hvis ja, vennligst gi oss tilbakemelding ved å lage en sak på Github eller fiks feilen selv om du kan. Vi er takknemlige for enhver tilbakemelding!