Wyszukiwanie w witrynie

Jak tworzyć wykresy o profesjonalnym wyglądzie w Pythonie


Excel i inne arkusze kalkulacyjne są wszechobecne w biznesie, ponieważ pozwalają tworzyć proste grafiki. Jeśli chcesz przenieść swoje raporty i prezentacje na wyższy poziom, warto rozważyć naukę Pythona, aby tworzyć potężne wizualizacje, które pomogą Ci wyróżnić się z tłumu.

Początkowa konfiguracja

Tworzenie przybornika Pythona






Aby tworzyć wykresy w Pythonie, będziesz musiał skonfigurować środowisko z odpowiednimi pakietami. Należą do nich:

  • NumPy, fundament analizy danych w Pythonie,
  • pandas, biblioteka do manipulowania danymi tabelarycznymi w DataFrames
  • Seaborn, biblioteka, która wygeneruje wykresy (z pewną pomocą Matplotlib)

Chociaż nie są to biblioteki, IPython i Jupyter znacznie ułatwią Ci pracę z danymi w Pythonie. IPython usprawnia interaktywny Python, natomiast Jupyter Notebooks ułatwiają śledzenie Twojej pracy i dzielenie się nią z innymi.

Najlepiej jest użyć narzędzia, które może zarządzać twoim środowiskiem Pythona, aby zainstalować te narzędzia. Moim ulubionym narzędziem w ostatnich czasach jest Pixi. Możesz zainstalować Pixi, korzystając z instrukcji na stronie Pixi dla swojego systemu opartego na terminalu, w tym macOS, Linux oraz PowerShell w Windows.

Gdy już zainstalujesz Pixi, możesz zainstalować środowisko. Ponieważ prawdopodobnie będziesz chciał mieć je pod ręką, możesz zainstalować je w środowisku globalnym:

pixi global install --environment graphics --expose jupyter --expose ipython jupyter numpy pandas seaborn matplotlib ipython

To zainstaluje Jupyter, IPython, NumPy, Seaborn i Matplotlib. Ponieważ Matplotlib jest zależnością Seaborn, prawdopodobnie zostałby i tak zainstalowany, ale chcemy upewnić się, że jest dostępny, ponieważ wydamy kilka poleceń bezpośrednio do Matplotlib. Opcja --expose informuje Pixi, aby udostępnił wykonywalny plik IPython Jupyterowi.

Podstawy programowania w Pythonie
Wyzwaniowy test wiedzy

Myślisz, że znasz swoje pętle i listy? Sprawdź swoją wiedzę z Pythona.

Który z poniższych sposobów jest poprawnym sposobem wyświetlenia 'Hello, World!' w Python 3?

Jaki typ danych zwraca wyrażenie type(3.14) w Pythonie?

Jaki symbol jest używany do pisania komentarza jednoliniowego w Pythonie?

Która z poniższych struktur danych Pythona jest niezmiennicza?

Co wydrukuje następujący kod? for i in range(3): print(i)

Jakie słowo kluczowe jest używane do definiowania funkcji w Pythonie?

Jaki jest wynik następującego wyrażenia w Pythonie? bool(0)

Co robi funkcja 'len()' w Pythonie?

Twój wynik

Dziękujemy za grę!

Wykresy liniowe

Tworzenie wykresu szeregu czasowego

Możesz tworzyć wykresy liniowe za pomocą Seaborn. Najpierw będziesz musiał zaimportować biblioteki, które właśnie zainstalowałeś, używając IPython lub Jupyter:

import numpy as np
import pandas as pd
import seaborn as sns
sns.set_theme()
import matplotlib.pyplot as plt

Pierwsze trzy linijki importują NumPy, pandas i Seaborn, używając skróconych nazw.

Możemy zobrazować wykres liniowy przedstawiający szereg czasowy, używając jednego z wbudowanych zestawów danych, które zawiera Seaborn. Obejmuje to listę lotów lotniczych i liczbę pasażerów w latach 1949-1960.

Najpierw załadujemy zestaw danych:

flights = sns.load_dataset('flights')

To tworzy DataFrame w Pandas, którego pierwsze kilka wierszy możemy przejrzeć za pomocą metody head():

flights.head()

Możemy wtedy utworzyć wykres liniowy, na którym rok będzie na osi x, a liczba pasażerów na osi y:

sns.lineplot(x='year',y='passengers',data=flights)

Wykres pojawi się w innym oknie.

Wykres zostanie wyświetlony w osobnym oknie.

Wykresy słupkowe

Możesz również tworzyć wykresy słupkowe. Wywołamy inny zestaw danych, od kelnera w restauracji w Nowym Jorku, który zapisał kwotę rachunku wraz z napiwkiem.

tips = sns.load_dataset('tips')

Stworzymy wykres słupkowy, który pokazuje całkowity rachunek w ciągu kilku dni:

sns.catplot(x='day',y='total_bill',kind='bar',data=tips)

Wykres punktowy/regresja

Znajdowanie trendów w Twoich danych

Innym przydatnym rodzajem wykresu jest wykres punktowy i regresji, czyli pokazywanie linii trendu. Ponieważ są one tak powszechne w statystyce, nauce o danych i biznesie, łatwo je tworzyć za pomocą Seaborn.

Stworzymy wykres punktowy napiwku w zależności od całkowitego rachunku, z całkowitym rachunkiem na osi x i napiwkiem na osi y. Napiwek będzie zmienną zależną, a całkowity rachunek zmienną niezależną. Chcemy sprawdzić, czy istnieje zależność między całkowitym rachunkiem a napiwkiem.

sns.relplot(x='total_bill',y='tip',data=tips)

Możesz zauważyć, że napiwek wydaje się rosnąć wraz z całkowitym rachunkiem. Można by narysować prostą linię, która wznosi się od lewej do prawej. Innymi słowy, wydaje się, że istnieje pozytywna zależność liniowa między tymi dwiema rzeczami. Im większy rachunek, tym większy napiwek.

Możemy również narysować tę prostą linię, czyli linię regresji liniowej, na tym wykresie rozrzutu. Kod jest bardzo podobny do kodu, którego użyliśmy do wykresu rozrzutu.

sns.regplot(x='total_bill',y='tip',data=tips)

Zauważ, że nie będziesz w stanie uzyskać wartości równania dla linii regresji, takich jak nachylenie i wyraz wolny, aby utworzyć klasyczne równanie y=mx + b, które pamiętasz z algebry w liceum. Będziesz musiał użyć innej biblioteki, takiej jak SciPy lub statsmodels, która poda ci wartości do równania.

Dostosowywanie tytułów i zapisywanie

Przygotuj swoje wykresy na antenę

Chociaż wykresy wyglądają dobrze same w sobie, nie są jeszcze całkiem gotowe do wstawienia do twoich wykresów lub prezentacji. Prawdopodobnie będziesz musiał zmienić oznaczenia osi, aby były bardziej zrozumiałe same w sobie.

Będziesz wykonywać wywołania nie do Seaborn, lecz do podstawowej biblioteki Matplotlib. Załóżmy, że chcielibyśmy opublikować wykres regresji napiwek vs. rachunek. Oto jak byśmy go uporządkowali, gdybyśmy chcieli go umieścić w raporcie. Używalibyśmy wcześniejszego kodu dla wykresu regresji, ale używali Matplotlib do dodania tytułu i modyfikacji etykiet na osiach.

sns.regplot(x='total_bill',y='tip',data=tips)
plt.title("Tip vs. total bill in a New York City restaurant")
plt.xlabel("Total bill (USD)")
plt.ylabel("Tip (USD)")
plt.show()

To doda tytuł i usunie podkreślenie na osiach, a także wyjaśni, że kwoty są w dolarach amerykańskich.

Aby zapisać swój wykres, możesz kliknąć ikonę Zapisz w wyskakującym oknie lub możesz użyć tej komendy:

plt.savefig('/path/to/file')

Możesz następnie wstawić to do swojego dokumentu lub prezentacji. Matplotlib obsługuje wiele popularnych formatów, w tym PNG.


Łatwo jest tworzyć atrakcyjnie wyglądające wykresy w Pythonie

Nauka Pythona może zająć trochę czasu, ale przy odrobinie wysiłku możesz tworzyć wykresy o jakości publikacyjnej, które ożywią Twoją następną prezentację lub raport. Czy nie powinieneś wkładać tyle samo wysiłku w wizualizacje, ile wkładasz w upewnianie się, że słowa i liczby są poprawne?

Powiązane artykuły