CodeGym /Kurs Javy /Python SELF PL /Konfigurowanie podpisów, legend i osi dla lepszej interpr...

Konfigurowanie podpisów, legend i osi dla lepszej interpretacji wykresów

Python SELF PL
Poziom 42 , Lekcja 0
Dostępny

1. Znaczenie adnotacji na wykresach

Dlaczego warto dodawać podpisy, legendy i adnotacje do wykresów

Dzisiaj porozmawiamy o części wizualizacji danych tak samo ważnej jak same wykresy – adnotacjach. To jak odbiornik w telewizorze: niby wszystko jest, ale oglądanie jest trudne, ponieważ obraz nie zawsze jest jasny. Brak podpisów, legend i adnotacji może sprawić, że dane ożyją i zaczną mówić językiem zrozumiałym dla człowieka.

Możesz zapytać: czy podpisy i legendy są naprawdę tak ważne? Odpowiedź jest prosta: są one jak sól i pieprz dla wykresu. Bez nich Twój wykres może stać się trudny do odczytania, a sens danych może zostać zagubiony. Dzięki adnotacjom nadajemy wykresowi dodatkowe znaczenie i sprawiamy, że staje się bardziej intuicyjny.

Podpisy i legendy pomagają Twoim odbiorcom szybko zrozumieć, co widzą. Wyobraź sobie, że patrzysz na mapę skarbów bez żadnych wskazówek i ktoś prosi Cię, abyś od razu znalazł drogę do skarbu. To brzmi jak szaleństwo, prawda? To samo dzieje się z wykresami bez podpisów. Powinniśmy pomagać naszym odbiorcom, a nie komplikować im życie.

A teraz przyjrzyjmy się bardziej szczegółowo, jak dodać magię adnotacji do Twoich wykresów za pomocą Pythona i Matplotlib. Gotowi? No to zaczynamy!

2. Podpisy osi

Zarządzanie podpisami osi za pomocą xlabel, ylabel i title

Pierwszy krok – nazwy osi. Proces jest prosty jak dwa razy dwa. Korzystamy z funkcji xlabel() i ylabel() do dodawania podpisów do osi X i Y, odpowiednio. A do tytułu wykresu używamy title(). Te funkcje sprawiają, że wykres staje się bardziej uporządkowany i czytelny. Oto prosty przykład:

Python

import matplotlib.pyplot as plt

# Dane
x = [0, 1, 2, 3, 4, 5]
y = [0, 1, 4, 9, 16, 25]

# Tworzenie wykresu
plt.plot(x, y, color='blue')

# Dodawanie podpisów
plt.xlabel('Czas (godziny)', color='red')
plt.ylabel('Odległość (km)', color='green')
plt.title('Wzrost odległości w czasie', color='gold')

# Wyświetlanie wykresu
plt.show()

Można również pokolorować tekst i wykres w ulubione kolory:

Dostosowywanie czcionki i wielkości podpisów

Aby wykres wyglądał bardziej atrakcyjnie, można zmienić wielkość, kolor i styl czcionki podpisów. W Matplotlib możesz to zrobić za pomocą parametrów fontsize, fontweight, color i innych.

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 20, 25, 30]

plt.plot(x, y)

# Dostosowywanie tytułu i podpisów z parametrami
plt.title("Przykład wykresu", fontsize=16, fontweight="bold", color="navy")
plt.xlabel("Wartości X", fontsize=12, color="darkred")
plt.ylabel("Wartości Y", fontsize=12, color="darkred")

plt.show()

W tym przykładzie:

  • fontsize ustawia wielkość czcionki.
  • fontweight="bold" sprawia, że tekst jest pogrubiony.
  • color zmienia kolor tekstu.

3. Wyświetlanie "legendy"

Dodawanie i dostosowywanie legendy za pomocą funkcji legend()

Legenda to nie tylko mit czy historia, ale także ważne narzędzie w arsenale Twojego wykresu. Wyjaśnia, co reprezentują linie czy słupki na wykresie, i umożliwia rozróżnienie kilku serii danych. Matplotlib sprawia, że to bardzo proste. Oto jak możesz dodać legendę do swojego wykresu:

Python

# Dane
x = [0, 1, 2, 3, 4, 5]
y1 = [0, 1, 4, 9, 16, 25]
y2 = [0, 1, 2, 3, 4, 5]

# Tworzenie wykresu
plt.plot(x, y1, label='Kwadrat liczby')
plt.plot(x, y2, label='Sama wielkość')

# Dodanie podpisów
plt.xlabel('Czas (godziny)')
plt.ylabel('Odległość (km)')
plt.title('Porównanie funkcji')

# Dodanie legendy
plt.legend(loc='upper left')

# Wyświetlanie wykresu
plt.show()

Wywołanie legend() dodaje legendę w miejscu, które wskazałeś. Argument loc można zastąpić wartością 'best', aby Python sam wybrał dogodną lokalizację (tak, sztuczna inteligencja jest tutaj również zaangażowana).

Pozycja legendy

Możesz zmienić pozycję legendy, używając parametru loc. Na przykład:

  • loc="upper right" — prawy górny róg (domyślnie).
  • loc="upper left" — lewy górny róg.
  • loc="lower right" — prawy dolny róg.
  • loc="center" — środek.
Python

plt.legend(loc="upper left")

Dostosowywanie rozmiarów i kolorów legendy

Możesz dostosowywać wielkość czcionki i kolory legendy za pomocą parametrów fontsize, facecolor i edgecolor.

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y1 = [10, 15, 20, 25, 30]
y2 = [5, 10, 15, 20, 25]

plt.plot(x, y1, label="Linia 1", color="blue")
plt.plot(x, y2, label="Linia 2", color="green")

plt.title("Wykres z konfigurowalną legendą")
plt.xlabel("Wartości X")
plt.ylabel("Wartości Y")

# Dostosowywanie legendy
plt.legend(loc="upper left", fontsize=10, facecolor="lightgray", edgecolor="black")

plt.show()

4. Formatując osie

Matplotlib pozwala dostosować skalę, etykiety i zakres wartości osi, co może być przydatne do poprawienia interpretacji wykresu.

Zmiana zakresu osi

Funkcje xlim() i ylim() umożliwiają ustawienie minimalnych i maksymalnych wartości dla osi.

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 20, 25, 30]

plt.plot(x, y)
plt.xlabel("Wartości X")
plt.ylabel("Wartości Y")
plt.xlim(0, 6)  # Zakres osi X od 0 do 6
plt.ylim(5, 35)  # Zakres osi Y od 5 do 35

plt.show()

Ustawianie interwału etykiet

Za pomocą funkcji xticks() i yticks() można ustawić niestandardowe etykiety dla osi.

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 20, 25, 30]

plt.plot(x, y)
plt.xlabel("Wartości X")
plt.ylabel("Wartości Y")

# Ustawianie etykiet osi X
plt.xticks([1, 2, 3, 4, 5], ["Jeden", "Dwa", "Trzy", "Cztery", "Pięć"])
plt.show()

Dodawanie siatki na wykres

Siatka pomaga lepiej orientować się w wartościach na wykresie, szczególnie jeśli dane mają wiele punktów lub wartości.

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 20, 25, 30]

plt.plot(x, y)
plt.xlabel("Wartości X")
plt.ylabel("Wartości Y")
plt.grid(True)  # Dodanie siatki

plt.show()

Za pomocą plt.grid(True) dodaje się standardową siatkę. Można również dostosować jej styl, używając parametrów color, linestyle i linewidth.

Python

plt.grid(color="gray", linestyle="--", linewidth=0.5)

5. Dodawanie adnotacji na wykres

Adnotacje pozwalają wyróżnić ważne punkty lub wyjaśnienia na wykresie. Metoda annotate() pomaga dodać tekst do określonego punktu na wykresie.

Dodawanie adnotacji

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 20, 25, 30]

plt.plot(x, y)
plt.xlabel("Wartości X")
plt.ylabel("Wartości Y")

# Dodawanie adnotacji
plt.annotate("Maksimum", xy=(5, 30), xytext=(3, 30),
             arrowprops=dict(facecolor="black", shrink=0.05))

plt.show()

W tym przykładzie:

  • xy=(5, 30) wskazuje współrzędne punktu, który adnotujemy.
  • xytext=(3, 30) wskazuje pozycję tekstu.
  • arrowprops dodaje strzałkę wskazującą punkt.

6. Przykłady ulepszeń wykresów

Przejdźmy do praktyki! Zobaczmy, jak dodanie adnotacji poprawia wykres.

Załóżmy, że mamy wykres przedstawiający wzrost sprzedaży dwóch różnych produktów w ciągu miesięcy. Chcemy, by stał się bardziej zrozumiały i dodać potrzebne adnotacje.

Python

import matplotlib.pyplot as plt

# Miesiące i sprzedaż
months = ['Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec']
sales_product1 = [100, 120, 130, 150, 170, 190]
sales_product2 = [90, 110, 115, 140, 165, 180]

# Tworzenie wykresu
plt.plot(months, sales_product1, marker='o', label='Produkt 1')
plt.plot(months, sales_product2, marker='s', label='Produkt 2')

# Adnotowanie
plt.xlabel('Miesiące')
plt.ylabel('Sprzedaż (szt.)')
plt.title('Wzrost sprzedaży produktów')
plt.legend(loc='upper left')

# Konfiguracja adnotacji
for i, txt in enumerate(sales_product1):
    plt.annotate(txt, (months[i], sales_product1[i]), textcoords="offset points", xytext=(0,10), ha='center')

for i, txt in enumerate(sales_product2):
    plt.annotate(txt, (months[i], sales_product2[i]), textcoords="offset points", xytext=(0,10), ha='center')

# Wyświetlanie wykresu
plt.show()

Tak, dodaliśmy małe jasne liczby nad każdą datą! Takie adnotacje mogą okazać się zbawieniem przy analizie dużych ilości danych i punktów, gdzie każda liczba jest cenna.

No i mamy opanowane adnotowanie wykresów w Matplotlib. Te umiejętności przydadzą Ci się przy tworzeniu raportów i prezentacji danych, zwłaszcza gdy każde słowo waży więcej niż tysiąc liczb. Do przodu, rysuj, podpisuj i zmieniaj świat danych!

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION