Linje-, stapel- och spridningsdiagram
Skapa vanliga diagramtyper
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.
ocirkelmarkör--streckad linjerrö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 axelax.bar(cats, vals)för att jämföra kategorierax.scatter(x, y)för samband, meds=för bubblor
Lägg flera serier ovanpå varandra på samma Axes och välj den typ som passar Er fråga.
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
- Figurer och axlar
- Linje-, stapel- och spridningsdiagram
- Anpassa diagram
- Delplottar och layouter