Photo by oxana v on Unsplash
Ten przewodnik został zaktualizowany o kilka bardziej dogłębnych przykładów. Najnowszą wersję bloga można znaleźć tutaj.
Jeśli zaczynasz przygodę z wizualizacją w Pythonie, możesz być przytłoczony ilością bibliotek i przykładów:
- Matplotlib
- Seaborn
- Plotly
- Bokeh
- Altair
- Folium
Jeśli masz DataFrame czekającą na wizualizację, którą z nich powinieneś wybrać? Niektóre biblioteki mogą być lepsze w konkretnych przypadkach niż inne. Ten artykuł pokaże wady i zalety każdej z nich. Pod koniec artykułu powinieneś być w stanie rozróżnić różne cechy każdej z bibliotek i łatwiej wybrać optymalną.
Zrobimy to za pomocą przykładowego zbioru danych i zbadamy go przy użyciu każdej z bibliotek, skupiając się na kilku konkretnych atrybutach:
Interaktywność
Czy chcesz, aby twoja wizualizacja była interaktywna?
Niektóre biblioteki, takie jak Matplotlib, renderują wizualizacje jako obrazy; dlatego są one dobre do wyjaśniania pojęć (w referatach, zestawach slajdów lub prezentacjach).
Z drugiej strony, biblioteki takie jak Altair, Bokeh i Plotly pozwalają na tworzenie interaktywnych wykresów, w które użytkownicy mogą się zagłębić i zbadać je samodzielnie
Syntaktyka i elastyczność
Czym różni się składnia każdej z bibliotek? Biblioteki niższego poziomu, takie jak Matplotlib, pozwalają robić wszystko, co tylko można sobie wyobrazić – ale kosztem bardziej złożonego API. Niektóre biblioteki, takie jak Altair, są bardzo deklaratywne, co ułatwia mapowanie do twoich danych.
Typ danych i wizualizacji
Czy pracujesz z wyspecjalizowanym przypadkiem użycia, takim jak działka geograficzna, z dużymi danymi, lub używasz typu działki, który jest obsługiwany tylko przez określoną bibliotekę?
Dane
Aby ułatwić porównanie, użyję prawdziwych danych, które skrobię z Githuba w tym artykule:
Wizualizacje z każdej biblioteki będę osadzał za pomocą Datapane, który jest frameworkiem Pythona i API do publikowania i udostępniania raportów Pythona. Jeśli chcesz zobaczyć więcej przykładów z życia wziętych, sprawdź raporty stworzone przez użytkowników w galerii Datapane.
Aby śledzić artykuł, możesz albo pobrać plik csv stąd, albo uzyskać bezpośrednie dane z Datapane Blob.
import datapane as dpdp.Blob.get(name='github_data', owner='khuyentran1401').download_df()
Pamiętaj, aby wcześniej zalogować się do Datapane za pomocą swojego tokena, jeśli chcesz użyć Blob. Powinno to zająć mniej niż 1 minutę
Matplotlib
Matplotlib jest prawdopodobnie najbardziej popularną biblioteką Pythona do wizualizacji danych. Każdy, kto interesuje się nauką o danych, prawdopodobnie użył Matplotlib przynajmniej raz.
Pros
- Łatwe do zobaczenia własności danych
Podczas analizowania danych, szybkie spojrzenie na rozkład może być idealne.
Na przykład, jeśli chcę szybko spojrzeć na rozkład 100 użytkowników z największą liczbą zwolenników, użycie Matplotlib jest zazwyczaj wystarczające.