Python Academy · Lektion

Linje-, stapel- och spridningsdiagram

Skapa vanliga diagramtyper

Lektion 2 av 413 steg

Linje-, stapel- och spridningsdiagram är en gratis lektion i Python Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Python Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Python Academy innehåller totalt 4 lektioner.

Tre centrala diagramtyper

De flesta berättelser med data berättas med tre diagramtyper:

  • Linjediagram för trender längs en ordnad axel, till exempel tid
  • Stapeldiagram för att jämföra kategorier
  • Spridningsdiagram för samband mellan två numeriska variabler

Var och en motsvaras av en Matplotlib-metod på ett Axes-objekt.

Linjediagram

Ett linjediagram sammanbinder punkter i ordning. I Matplotlib görs det med ax.plot(x, y). Använd det när x-axeln har en meningsfull ordning, till exempel dagar eller mätningar över tid.

Dataunderlaget för en linje består bara av två parallella sekvenser.

months = [1, 2, 3, 4, 5]
sales = [120, 150, 130, 170, 200]
for m, s in zip(months, sales):
    print('Month', m, '->', s)
print('Trend:', 'up' if sales[-1] > sales[0] else 'down')

Stapeldiagram

Ett stapeldiagram jämför diskreta kategorier. Anropet är ax.bar(categories, values). Staplar utgår från noll, så deras höjder kan jämföras direkt.

Använd staplar när x-positionerna är etiketter, inte en kontinuerlig skala.

fruits = ['apple', 'banana', 'cherry']
counts = [30, 45, 15]
for f, c in zip(fruits, counts):
    bar = '#' * (c // 5)
    print(f.ljust(8), bar, c)

Vågräta staplar

När kategorietiketterna är långa blir vågräta staplar lättare att läsa. Matplotlib erbjuder ax.barh(categories, values).

Logiken är identisk; det är bara riktningen som ändras.

Spridningsdiagram

Ett spridningsdiagram ritar en markör per datapunkt med ax.scatter(x, y). Det visar korrelation, kluster och avvikare mellan två numeriska variabler.

Till skillnad från en linje sammanbinds punkterna inte.

heights = [150, 160, 170, 180, 190]
weights = [50, 60, 68, 78, 90]
pairs = list(zip(heights, weights))
print('Points:', pairs)
rising = all(weights[i] < weights[i+1] for i in range(len(weights)-1))
print('Positive trend:', rising)

Välj rätt diagram

Välj diagram utifrån frågan Ni vill besvara:

  • Hur förändras ett värde över tid? Linjediagram
  • Vilken kategori är störst? Stapeldiagram
  • Finns det ett samband mellan två variabler? Spridningsdiagram

Fel val kan vilseleda läsaren, till exempel om ett linjediagram används för kategorier utan inbördes ordning.

Flera serier

Ni kan anropa ax.plot() flera gånger på samma Axes för att lägga flera linjer ovanpå varandra. Varje anrop lägger till ytterligare en serie. Skilj dem åt senare med en teckenförklaring.

Samma idé med överlagring fungerar för spridningsdiagram och kombinerade diagramtyper.

series_a = [1, 2, 3, 4]
series_b = [4, 3, 2, 1]
for i in range(len(series_a)):
    print('x', i, 'a', series_a[i], 'b', series_b[i])

Markörer och linjestilar

Linjediagram kan ta emot en formatsträng. Till exempel ritar ax.plot(x, y, 'o--') cirkelmarkörer som binds samman av en streckad linje.

  • o cirkelmarkör
  • -- streckad linje
  • r röd färg

Dessa genvägar gör det snabbt att justera diagram under utforskning.

Grupperade staplar

För att jämföra två värden per kategori förskjuter Ni staplarnas positioner. Ni flyttar den ena gruppen en liten bit så att staplarna hamnar bredvid varandra.

Positionerna beräknas med enkel aritmetik på indexet.

categories = ['Q1', 'Q2', 'Q3']
width = 0.4
for i, cat in enumerate(categories):
    left_pos = i - width / 2
    right_pos = i + width / 2
    print(cat, 'group A at', left_pos, 'group B at', right_pos)

Bubbeldiagram

Ett spridningsdiagram kan representera en tredje variabel med markörens storlek: ax.scatter(x, y, s=sizes). Större bubblor betyder större värden. På så sätt ryms tre dimensioner i ett diagram.

Håll storlekarna rimliga så att bubblorna inte överlappar till en enda klump.

Undvik missvisande diagram

Diagramtypen förmedlar betydelse, så fel val kan vilseleda. En linje över kategorier utan inbördes ordning antyder en trend som inte finns. Staplar som inte börjar vid noll överdriver skillnader.

Fråga alltid om den visuella kodningen stämmer överens med datastrukturen.

Snabbkontroll

Matcha frågan med rätt diagram.

Sammanfattning

Nu känner Ni till de tre centrala diagramanropen:

  • ax.plot(x, y) för trender längs en ordnad axel
  • ax.bar(cats, vals) för att jämföra kategorier
  • ax.scatter(x, y) för samband, med s= för bubblor

Lägg flera serier ovanpå varandra på samma Axes och välj den typ som passar Er fråga.

Gratis att börja

Lär dig Python med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
76
Lektioner
320

Vanliga frågor

Är lektionen ”Linje-, stapel- och spridningsdiagram” gratis?

Ja – hela texten till ”Linje-, stapel- och spridningsdiagram” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Python Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Python Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Linje-, stapel- och spridningsdiagram”?

Skapa vanliga diagramtyper Ni övar på Python Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Python Academy?

Du behöver inga förkunskaper. Utbildningen i Python Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Linje-, stapel- och spridningsdiagram”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Python Academy-lektionen?

Ja. Varje Python Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Figurer och axlar
  2. Linje-, stapel- och spridningsdiagram
  3. Anpassa diagram
  4. Delplottar och layouter
← Tillbaka till Python Academy