Hej! Jeśli zastanawiasz się, jak zrobić świetnie wyglądające wykresy bez męczenia się z nudnymi bibliotekami, to dobrze trafiłeś. Dziś pogadamy o Plotly – narzędziu, które sprawi, że Twoje wizualizacje danych będą wyglądać profesjonalnie, nawet jeśli dopiero zaczynasz. Spokojnie, nie musisz być ekspertem od kodowania. Wszystko wyjaśnię krok po kroku.
Co to jest Plotly?
Plotly to biblioteka Python, która pozwala na tworzenie interaktywnych wykresów, od prostych liniowych po bardziej skomplikowane, jak wykresy 3D, heatmapy czy mapy geograficzne. Dlaczego warto jej używać? Bo jest:
- Prosta w obsłudze – kilka linijek kodu wystarczy, by uzyskać super efekt.
- Interaktywna – możesz klikać, powiększać, przesuwać elementy wykresu.
- Wszechstronna – działa świetnie w Jupyter Notebook, aplikacjach webowych i na stronach internetowych.
Jak zacząć przygodę z Plotly?
Pierwszy krok to instalacja. Jeśli jeszcze tego nie zrobiłeś, wpisz w terminalu lub w konsoli Pythona:
pip install plotly
To tyle! Biblioteka jest teraz gotowa do użycia.
Pierwszy wykres w Plotly
Najpierw pokażę Ci, jak zrobić podstawowy wykres liniowy. Zacznijmy od kodu:
import plotly.graph_objects as go # Dane do wykresu x = [1, 2, 3, 4, 5] y = [10, 20, 15, 25, 30] # Tworzymy wykres fig = go.Figure(data=go.Scatter(x=x, y=y, mode='lines+markers')) # Dodajemy tytuł fig.update_layout(title="Mój pierwszy wykres w Plotly") # Wyświetlamy wykres fig.show()
Co tu się dzieje?
- Importujemy plotly.graph_objects – to główny moduł do pracy z wykresami.
- Tworzymy dane (
x
iy
), czyli listy wartości dla osi X i Y. - Używamy go.Scatter do stworzenia wykresu liniowego.
mode='lines+markers'
dodaje linie i punkty jednocześnie. - Ustawiamy tytuł wykresu i wyświetlamy go.
Otworzy się przeglądarka z Twoim wykresem – możesz go powiększać i badać szczegóły.
Wykresy słupkowe – bo kto ich nie lubi?
Jeśli wolisz coś bardziej klasycznego, spróbuj wykresu słupkowego. Tutaj przykład:
import plotly.graph_objects as go # Dane x = ['Jabłka', 'Banany', 'Wiśnie', 'Winogrona'] y = [5, 8, 2, 6] # Tworzymy wykres słupkowy fig = go.Figure(data=go.Bar(x=x, y=y)) # Personalizacja fig.update_layout( title="Sprzedaż owoców", xaxis_title="Rodzaj owocu", yaxis_title="Liczba sprzedanych sztuk" ) # Wyświetlamy fig.show()
Efekt? Świetnie wyglądający wykres słupkowy z podpisami osi i tytułem. Teraz możesz monitorować sprzedaż owoców w Twoim wyimaginowanym sklepie.
Trochę więcej magii – wykresy 3D
Plotly pozwala tworzyć wykresy 3D, co brzmi jak coś bardzo skomplikowanego, ale w praktyce jest dziecinnie proste. Spójrz na ten przykład:
import plotly.graph_objects as go # Dane 3D x = [1, 2, 3, 4, 5] y = [10, 15, 20, 25, 30] z = [5, 10, 15, 10, 5] # Wykres 3D fig = go.Figure(data=[go.Scatter3d(x=x, y=y, z=z, mode='markers', marker=dict(size=8, color=z, colorscale='Viridis'))]) # Tytuł i osie fig.update_layout( title="Przykład wykresu 3D", scene=dict( xaxis_title="Oś X", yaxis_title="Oś Y", zaxis_title="Oś Z" ) ) # Wyświetlamy fig.show()
Wykres 3D z kolorowymi punktami! Dostosowanie rozmiaru i koloru markerów sprawia, że Twoje dane stają się bardziej zrozumiałe.
Mapy geograficzne – Plotly w podróży
Chcesz przedstawić dane na mapie? Plotly i tutaj Ci pomoże. Wyobraź sobie, że masz dane o liczbie użytkowników w różnych krajach. Oto jak to zrobić:
import plotly.express as px # Dane dane = { "Kraj": ["Polska", "Niemcy", "Francja", "Hiszpania"], "Użytkownicy": [120, 200, 180, 160] } # Tworzymy mapę fig = px.choropleth( locations=dane["Kraj"], locationmode="country names", color=dane["Użytkownicy"], title="Użytkownicy w Europie", color_continuous_scale=px.colors.sequential.Plasma ) # Wyświetlamy fig.show()
Ten kod automatycznie przekształci dane w kolorową mapę, na której kraje będą podświetlone w zależności od liczby użytkowników.
Optymalizacja wykresów – bo wygląd ma znaczenie
Plotly pozwala na wiele personalizacji. Możesz zmieniać kolory, style linii, układ osi czy dodawać adnotacje. Oto kilka przykładów:
Zmiana stylu wykresu liniowego:
fig.update_traces(line=dict(color='firebrick', width=4))
Dodawanie adnotacji:
fig.add_annotation( x=3, y=20, text="Najwyższy punkt", showarrow=True, arrowhead=1 )
Plotly w aplikacjach webowych
Chcesz użyć Plotly w swojej aplikacji webowej? Polecam bibliotekę Dash – to framework oparty na Plotly i Flask. Wystarczy kilka linijek kodu, aby Twoje wykresy były dostępne w przeglądarce.
Przykładowa aplikacja w Dash:
from dash import Dash, dcc, html app = Dash(__name__) app.layout = html.Div([ dcc.Graph( id='example-plot', figure=go.Figure(data=go.Bar(x=['A', 'B', 'C'], y=[4, 7, 2])) ) ]) if __name__ == '__main__': app.run_server(debug=True)
Plotly to potężne narzędzie, które pozwala na łatwe i szybkie tworzenie interaktywnych wykresów. Czy to wykresy liniowe, słupkowe, 3D czy mapy, wszystko jest możliwe przy użyciu kilku linijek kodu. Dodatkowo, dzięki swojej elastyczności, Plotly znajdzie zastosowanie zarówno w projektach naukowych, jak i biznesowych.