Enkle datasett#

Noen datasett har så få datapunkter at man kan skrive de inn i Python selv.

La oss se på et sett med data som handler om konsumprisindeks.

2015

2016

2017

2018

2019

2020

2021

2022

\(100.0\)

\(103.6\)

\(105.5\)

\(108.4\)

\(110.8\)

\(112.2\)

\(116.1\)

\(122.8\)

Vi kan skrive dette inn i Python som lister på denne måten:

x = [2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022] # År etter 2015
y = [100, 103.6, 105.5, 108.4, 110.8, 112.2, 116.1, 122.8] # Konsumprisindeks

Kilde til data om konsumprisindeks: SSB

Linjediagram#

For å lage et linjediagram mellom punktene kan vi bruke plot()-funksjonen som ligger i matplotlib.

import matplotlib.pyplot as plt

x = [2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022] # År etter 2015
y = [100, 103.6, 105.5, 108.4, 110.8, 112.2, 116.1, 122.8] # Konsumprisindeks

plt.plot(x, y)
plt.title("Konsumprisindeksen f.o.m. 2015")
plt.xlabel("År")
plt.ylabel("Konsumprisindeks (KPI)")
plt.show()
../_images/73d3db0f7a52d0db3c881f60c800c98b06bc56415bed9f57932de9f99ff842fd.png

Punktdiagram#

Noen ganger ønsker vi å plotte datapunktene som punkter. Da bruker vi scatter()-funksjonen.

import matplotlib.pyplot as plt

x = [2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022] # År etter 2015
y = [100, 103.6, 105.5, 108.4, 110.8, 112.2, 116.1, 128.8] # Konsumprisindeks

plt.scatter(x, y)
plt.title("Konsumprisindeksen f.o.m. 2015")
plt.xlabel("År")
plt.ylabel("Konsumprisindeks (KPI)")
plt.show()
../_images/16308e11269f2e940a325b14b13f77f94c995007740da745eb281c886752b628.png

Søylediagram#

Vi kan lage søylediagrammer med bar()-funksjonen fra matplotlib.

For å bruke et bar() trenger vi

  • en liste med navn på kategoriene våre (labels).

  • en liste med data i samme rekkefølge som navnene.

import matplotlib.pyplot as plt

frukter = ['Eple', 'Blåbær', 'Drue', 'Appelsin']
antall = [40, 100, 30, 55]

plt.bar(frukter, antall)
plt.ylabel("Antall frukter")
plt.show()
../_images/086a53c225b679e437bb205a07ad9fbec64b8ba9e307d387290009edb9c27c20.png

Vi kan også legge til en fargeliste for å skille på kategoriene.

import matplotlib.pyplot as plt

frukter = ['Eple', 'Blåbær', 'Drue', 'Appelsin']
antall = [40, 100, 30, 55]
fargeliste = ['tab:red', 'tab:blue', 'tab:green', 'tab:orange']

plt.bar(frukter, antall, color = fargeliste)
plt.ylabel("Antall frukter")
plt.show()
../_images/4d09c43434c2db99a1380c84fee655ce206074adff1af2dfdd2c867a0d6b4bb2.png

Fargetips

Fargene som er skrevet med tab: (tab:red, tab:blue osv…) er fra en fargepallett som er litt finere enn standardfargene. Prøv gjerne standardfargene selv (red, blue osv…) og nyt de knæsje badeballfargene som minner om en forferdelig dårlig powerpoint eller en statisk nettside fra 1998.

Du kan finne flere farger i dokumentasjonen List of named colors.

Sektordiagram#

Vi kan lage sektordiagrammer eller kakediagrammer med plt.pie().

import matplotlib.pyplot as plt

frukter = ["Eple", "Blåbær", "Drue", "Appelsin"]
antall = [40, 100, 30, 55]
fargeliste = ["tab:red", "tab:blue", "tab:green", "tab:orange"]

plt.pie(antall, labels=frukter, colors=fargeliste, autopct="%.1f%%")
plt.title("Antall frukter")
plt.show()
../_images/4caf228c17158d8a59b38151b324cfbce39ce475d7f568cfb35846e476411929.png

Vi ser at sektordiagrammet fungerer ganske likt som søylediagrammet. Parameteren autopct gjør sånn at de prosentvise inndelingene skrives inn i hver sektor.


Oppgaver#

Oppgave 1

Finn høyden til medelevene dine.

Del høydene opp i blokker på 10cm og tell hvor mange som havner i hver blokk.

Det kan for eksempel se slik ut:

+-------+-------+-------+-------+-------+-------+
|141-150|151-160|161-170|171-180|181-190|191-200|
+-------+-------+-------+-------+-------+-------+
|   1   |   5   |   7   |   4   |   2   |   1   |
+-------+-------+-------+-------+-------+-------+

Lag et søylediagram av høydene. Du kan ta utgangspunkt i tabellen over hvis du ikke har klassekamerater 😶‍🌫️

Oppgave 2

I denne oppgaven skal vi lage et sektordiagram over utdanningsnivå i den norske befolkningen.

Under er et sett med data over høyest oppnådd utdanningsnivå i befolkningen i 2022.

Utdanningsnivå

Antall mennesker

Grunnskole

1 062 631

Videregående

1 628 428

Fagskole

141 501

Universitet og høyskole

1 650 827

Uoppgitt eller ingen utdanning

24 913

Lag et sektordiagram som viser fordelingen over. Husk tittel.

Kilde til data om utdanningsnivå: SSB

Oppgave 3

I denne oppgaven skal vi sammenlikne lønnssutvikling 💸

Årstall

Lønn: Undervisning

Lønn: Alle næringer

2015

501 300

516 000

2016

516 100

522 700

2017

523 500

535 400

2018

536 800

550 800

2019

552 900

569 900

2020

564 200

587 600

2021

577 400

609 600

2022

597 300

634 700

Tabellen over viser utviklingen i gjennomsnittslønnen for undervisningssektoren sammenliknet med gjennomsnittslønnen for alle næringer.

  1. Lag et linjediagram over lønnsutviklingen i undervisningssektoren.

  2. Lag et annet linjediagram over lønnsutviklingen i alle sektorer.

Sørg for at du har med label og plt.legend() sånn at man kan skille diagrammene.

Sammenlikn utviklingen og skriv en liten kommentar over hva du ser.

Kilde til data om gjennomsnittlig årslønn per sektor: SSB