Wykresy liniowe, słupkowe i punktowe
Twórz popularne typy wykresów
Wykresy liniowe, słupkowe i punktowe to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 4 lekcji w sumie.
Trzy podstawowe typy wykresów
Większość historii opowiadanych za pomocą danych przedstawia się przy użyciu trzech typów wykresów:
- Liniowy do przedstawiania trendów wzdłuż uporządkowanej osi, na przykład czasu
- Słupkowy do porównywania kategorii
- Punktowy do przedstawiania zależności między dwiema zmiennymi liczbowymi
Każdy z nich odpowiada jednej metodzie Matplotlib wywoływanej na obiekcie Axes.
Wykresy liniowe
Wykres liniowy łączy punkty w określonej kolejności. W Matplotlib służy do tego ax.plot(x, y). Należy go używać, gdy oś x ma znaczącą kolejność, na przykład przedstawia dni lub pomiary w czasie.
Dane stojące za wykresem liniowym to po prostu dwie równoległe sekwencje.
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')Wykresy słupkowe
Wykres słupkowy służy do porównywania rozłącznych kategorii. Wywołanie ma postać ax.bar(categories, values). Słupki zaczynają się od zera, dzięki czemu ich wysokości można bezpośrednio porównywać.
Słupków należy używać, gdy pozycje na osi x są etykietami, a nie wartościami na skali ciągłej.
fruits = ['apple', 'banana', 'cherry']
counts = [30, 45, 15]
for f, c in zip(fruits, counts):
bar = '#' * (c // 5)
print(f.ljust(8), bar, c)Słupki poziome
Gdy etykiety kategorii są długie, lepiej sprawdzają się słupki poziome. Matplotlib udostępnia do tego metodę ax.barh(categories, values).
Logika pozostaje identyczna, zmienia się tylko orientacja.
Wykresy punktowe
Wykres punktowy rysuje jeden znacznik dla każdego punktu danych za pomocą ax.scatter(x, y). Ujawnia korelacje, skupiska i obserwacje odstające między dwiema zmiennymi liczbowymi.
W przeciwieństwie do wykresu liniowego punkty nie są łączone.
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)Wybór odpowiedniego wykresu
Typ wykresu należy wybrać na podstawie pytania, na które chcą Państwo odpowiedzieć:
- Jak wartość zmienia się w czasie? Liniowy
- Która kategoria jest największa? Słupkowy
- Czy dwie zmienne są ze sobą powiązane? Punktowy
Nietrafny wybór może wprowadzać odbiorców w błąd, na przykład gdy wykres liniowy zostanie użyty dla kategorii bez określonej kolejności.
Wiele serii danych
Na tym samym obiekcie Axes można wielokrotnie wywołać ax.plot(), aby nałożyć na siebie wiele linii. Każde wywołanie dodaje kolejną serię. Później można je rozróżnić za pomocą legendy.
Ta sama idea nakładania serii sprawdza się w przypadku wykresów punktowych i wykresów łączonych.
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])Znaczniki i style linii
Wykresy liniowe przyjmują ciąg formatujący, na przykład ax.plot(x, y, 'o--') rysuje okrągłe znaczniki połączone linią przerywaną.
oznacznik w kształcie koła--linia przerywanarkolor czerwony
Te skróty pozwalają szybko modyfikować wykresy tworzone podczas eksploracji danych.
Słupki grupowane
Aby porównać dwie wartości dla każdej kategorii, należy przesunąć pozycje słupków. Jedną grupę przesuwa się o niewielką wartość, dzięki czemu słupki ustawiają się obok siebie.
Pozycje oblicza się za pomocą prostych działań arytmetycznych na indeksie.
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)Wykresy bąbelkowe
Wykres punktowy może kodować trzecią zmienną za pomocą rozmiaru znacznika: ax.scatter(x, y, s=sizes). Większe bąbelki oznaczają większe wartości. W ten sposób jeden wykres przedstawia trzy wymiary.
Rozmiary należy dobierać rozsądnie, aby bąbelki nie nachodziły na siebie i nie tworzyły jednej plamy.
Unikanie mylących wykresów
Typ wykresu niesie ze sobą określone znaczenie, dlatego niewłaściwy wybór może wprowadzać w błąd. Linia narysowana dla kategorii bez określonej kolejności sugeruje trend, który w rzeczywistości nie istnieje. Słupki, które nie zaczynają się od zera, wyolbrzymiają różnice.
Zawsze należy sprawdzić, czy sposób przedstawienia danych wizualnie odpowiada ich strukturze.
Szybki test
Proszę dopasować pytanie do odpowiedniego wykresu.
Podsumowanie
Znają już Państwo trzy podstawowe wywołania służące do tworzenia wykresów:
ax.plot(x, y)do przedstawiania trendów wzdłuż uporządkowanej osiax.bar(cats, vals)do porównywania kategoriiax.scatter(x, y)do przedstawiania zależności, z użyciems=do tworzenia bąbelków
Można nakładać wiele serii na jeden obiekt Axes i wybierać typ wykresu pasujący do analizowanego pytania.
Często zadawane pytania
Czy lekcja „Wykresy liniowe, słupkowe i punktowe” jest bezpłatna?
Tak — pełny tekst „Wykresy liniowe, słupkowe i punktowe” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Wykresy liniowe, słupkowe i punktowe”?
Twórz popularne typy wykresów Ćwiczysz Python Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Python Academy?
Nie wymagamy żadnego doświadczenia. Python Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Wykresy liniowe, słupkowe i punktowe”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Python Academy?
Tak. Każda lekcja Python Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Figury i osie
- Wykresy liniowe, słupkowe i punktowe
- Dostosowywanie wykresów
- Wykresy podrzędne i układy