Funkcje interaktywne
Powiększaj, najeżdżaj i przesuwaj widok
Funkcje interaktywne 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.
Dlaczego interaktywność ma znaczenie
Największą przewagą Plotly nad bibliotekami tworzącymi statyczne wykresy jest ich reakcja na działania użytkownika. Odbiorcy mogą powiększać wybrany obszar, przesuwać widok po danych i najeżdżać kursorem, aby odczytywać dokładne wartości, bez przeładowywania wykresu etykietami.
Interaktywność pozwala jednemu wykresowi służyć zarówno do oglądania ogólnego obrazu, jak i szczegółów.
Podpowiedzi po najechaniu kursorem
Domyślnie najechanie kursorem na punkt pokazuje jego wartości x i y. Można wzbogacić tę informację za pomocą hover_data=['col1', 'col2'], aby dodać kolejne kolumny, albo użyć hover_name='name', aby ustawić pogrubiony tytuł podpowiedzi.
Dobre podpowiedzi pozwalają uniknąć przeładowania samego wykresu.
Budowanie tekstu podpowiedzi
W uproszczeniu podpowiedź to po prostu sformatowany tekst złożony z danych jednego wiersza. Oto ta sama idea zapisana w czystym Pythonie.
point = {'name': 'Berlin', 'pop': 3700000, 'gdp': 154}
tooltip = point['name'] + '\nPop: ' + format(point['pop'], ',') + '\nGDP: ' + str(point['gdp'])
print(tooltip)Powiększanie i przesuwanie widoku
Wykresy Plotly zawierają pasek narzędzi z narzędziami do powiększania, przesuwania widoku i zaznaczania prostokątem. Użytkownicy mogą także przeciągnąć prostokąt, aby powiększyć wybrany obszar, oraz kliknąć dwukrotnie, aby zresetować widok.
Te zachowania są domyślnie włączone, więc zazwyczaj nie trzeba pisać w tym celu żadnego kodu.
Zakres i resetowanie widoku
Powiększanie tymczasowo zmienia zakres osi. Początkowy zakres można ustawić za pomocą fig.update_xaxes(range=[0, 100]), a użytkownik zawsze może przywrócić ten zakres.
Powiększenie można traktować jako wybór podokna z pełnego zakresu danych.
full_min, full_max = 0, 1000
zoom_min, zoom_max = 200, 400
visible = zoom_max - zoom_min
total = full_max - full_min
print('Zoom shows', round(visible / total * 100), '% of the range')Tryby wyświetlania podpowiedzi
fig.update_layout(hovermode='x unified') wyświetla jedną podpowiedź zawierającą wszystkie serie dla wskazanej pozycji x. To świetne rozwiązanie do porównywania wielu linii w tym samym momencie.
Inne tryby to między innymi 'closest' i 'x'.
Interaktywność legendy
Legendy Plotly można klikać. Pojedyncze kliknięcie ukrywa serię, a dwukrotne kliknięcie wyświetla tylko ją. Dzięki temu użytkownicy mogą skupić się na interesujących ich danych bez konieczności tworzenia osobnych wykresów.
Ta funkcja działa automatycznie, gdy wykres zawiera wiele śladów.
Suwaki zakresu
W przypadku szeregów czasowych można dodać suwak zakresu za pomocą fig.update_xaxes(rangeslider_visible=True). Poniżej pojawi się niewielki wykres poglądowy, na którym użytkownicy mogą przeciągnięciem wybrać zakres dat.
Dobrze współpracuje on z przyciskami wyboru zakresu, takimi jak 1m, 6m i YTD.
Niestandardowe szablony podpowiedzi
Aby uzyskać pełną kontrolę, należy użyć hovertemplate — ciągu znaków z symbolami zastępczymi, takimi jak %{x} i %{y}. Można samodzielnie określić dokładny tekst i formatowanie liczb wyświetlane po najechaniu kursorem.
Projektowanie szablonu przypomina projektowanie dowolnego sformatowanego ciągu znaków.
x, y = 2021, 42.567
template = 'Year %{x}: $%{y:.1f}M'
rendered = template.replace('%{x}', str(x)).replace('%{y:.1f}', format(y, '.1f'))
print(rendered)Kiedy zakończyć
Interaktywność jest potężnym narzędziem, ale wiąże się z kosztami. Zbyt wiele elementów sterujących może przytłoczyć przypadkowych odbiorców. Należy włączać funkcje, które odpowiadają na rzeczywiste pytania, a w pozostałych przypadkach polegać na rozsądnych ustawieniach domyślnych.
Pasek narzędzi
Pasek narzędzi w prawym górnym rogu każdego wykresu to pasek trybów. Zawiera narzędzia do powiększania, przesuwania widoku, automatycznego skalowania oraz przycisk aparatu do pobierania pliku PNG. Można go skonfigurować lub ukryć za pomocą argumentu config podczas wyświetlania wykresu.
Ukrycie nieużywanych przycisków upraszcza wykres dla odbiorców nietechnicznych.
Szybkie sprawdzenie
Sprawdź swoją wiedzę na temat funkcji interaktywnych.
Podsumowanie
Poznali Państwo możliwości interaktywności Plotly:
- Podpowiedzi po najechaniu kursorem, wzbogacane za pomocą
hover_dataihovertemplate - Powiększanie i przesuwanie widoku za pomocą wbudowanego paska trybów
hovermode='x unified'do tworzenia łączonych podpowiedzi- Klikalne legendy i suwaki zakresu dla szeregów czasowych
Z tych funkcji należy korzystać świadomie, aby odpowiadać na rzeczywiste pytania.
Często zadawane pytania
Czy lekcja „Funkcje interaktywne” jest bezpłatna?
Tak — pełny tekst „Funkcje interaktywne” 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 „Funkcje interaktywne”?
Powiększaj, najeżdżaj i przesuwaj widok Ć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 „Funkcje interaktywne”?
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
- Podstawy Plotly Express
- Funkcje interaktywne
- Koncepcje pulpitów nawigacyjnych
- Eksportowanie i osadzanie