Chciałbyś stworzyć swój pierwszy wykres w Pythonie. Doskonały wybór! Z jednej strony Python jest oczywiście językiem programowania, ale z drugiej – idealnie nadaje się do analizy danych. Jest praktycznie standardem dla osób pracujących jako Data Scientist. Zobaczmy zatem jak biblioteka matplotlib pomoże nam stworzyć nasz pierwszy wykres.
Wykres liniowy w Pythonie
Zacznijmy od wykresu liniowego. Najprostszy kod mógłby wyglądać tak:
import matplotlib.pyplot as plt
year = [1990, 1995, 2000, 2005, 2010]
avg_salary = [3300, 3700, 4200, 4400, 4950]
plt.plot(year, avg_salary)
plt.show()
Jak widać najpierw robimy import (konkretnej części biblioteki matplotlib), a później, korzystając z dwóch list tworzymy wykres.
Tworzenie wykresu odbywa się za pomocą .plot()
. Żeby wykres pokazać potrzebujemy użyć kolejnej komendy – .show()
.
Rezultat jest następujący:
Biblioteka matplotlib – scatter plot
Ktoś mógłby (słusznie) zauważyć, że mamy do dyspozycji tylko 5 punktów danych, więc wykres liniowy – sugerujący, że trend w całości się z linią pokrywa, to nadużycie.
Słusznie.
Odpowiedzią będzie scatter plot – kolejny popularny wykres w pythonie, który jest banalny do stworzenia.
import matplotlib.pyplot as plt
year = [1990, 1995, 2000, 2005, 2010]
avg_salary = [3300, 3700, 4200, 4400, 4950]
plt.scatter(year, avg_salary)
plt.show()
Jak widzisz zmieniamy tylko .plot()
nad .scatter()
.
Rezultat będzie o wiele lepszą reprezentacją rzeczywistości.
Modyfikacje wykresu w Pythonie
Jak wspomniałem wcześniej, dopiero plt.show() wyświetla wykres. To oznacza, że po jego zbudowaniu, możemy sobie jeszcze wykres zmienić. Np. oś y możemy zamienić na skalę logarytmiczną dorzucając przed plt.show() linię:
plt.yscale('log')
Histogram w pythonie
Innym rodzajem wykresu, który możemy stworzyć jest histogram.
Załóżmy, że mamy listę, w której trzymamy informacji o przewidywanej długości życia (life expectancy). Wtedy kod generujący histogram wyglądałby tak.
plt.hist(life_exp)
W histogramie ważna jest ilość przedziałów. Jeżeli jej nie określimy, Python domyślnie ustawi dziesięć. My jednak chcemy nasz wykres w pythonie zmodyfikować.
Sprawa jest o tyle istotna, że zbyt mało przedziałów uprości rzeczywistość i nie pokaże szczegółów, zaś zbyt wiele przedziałów zbytnio skomplikuje rzeczywistość i nie pokaże szerszego obrazu.
W przypadku 20 przedziałów (bins), będzie to wyglądało tak:
plt.hist(life_exp, bins=20)
Jak opisać osie na wykresie w Pythonie?
Same liczby to nie wszystko – przydałoby się wiedzieć, co konkretnie przedstawiają.
Biblioteka matplotlib pozwoli nam łatwo opisać oś X, oś Y oraz dodać tytuł:
xlabel()
opisuje oś Xylabel()
opisuje oś Ytitle()
to po prostu tytuł
Wróćmy do poprzedniego przykładu z avg_salary
. Teraz kod będzie wyglądał tak.
import matplotlib.pyplot as plt
year = [1990, 1995, 2000, 2005, 2010]
avg_salary = [3300, 3700, 4200, 4400, 4950]
plt.scatter(year, avg_salary)
plt.xlabel("Rok")
plt.ylabel("Średnie wynagrodzenie")
plt.title("Średnie wynagrodzenie w kraju X mierzone co 5 lat")
plt.show()
Ale pojawia się pewien problem. Python nie wie, że rok to nie jest taka liczba, że możemy mieć 2007 i pół. To też można zmienić za pomocą funkcji yticks() i xticks(), w zależności, o którą oś nam chodzi. Najlepiej będzie wrzucić w nie 2 listy – jedna z liczbami, które mają być punktem odniesienia na wykresie, druga – z tym jak te liczby „opiszemy”.
Nasz wykres w pythonie zaczyna wyglądać naprawdę nieźle, prawda ?
import matplotlib.pyplot as plt
year = [1990, 1995, 2000, 2005, 2010]
avg_salary = [3300, 3700, 4200, 4400, 4950]
plt.scatter(year, avg_salary)
plt.xlabel("Rok")
plt.ylabel("Średnie wynagrodzenie")
plt.title("Średnie wynagrodzenie w kraju X mierzone co 5 lat")
plt.xticks(
[1990, 1995, 2000, 2005, 2010]
)
plt.yticks(
[3000, 4000, 5000],
['3K PLN', '4K PLN', '5K PLN']
)
plt.show()
Podsumowanie
Mam nadzieję, że teraz będzie Ci łatwiej stworzyć wykres w pythonie. Po prostu pamiętaj, że twoim największym przyjacielem jest biblioteka matplotlib.
To tyle w tym temacie. Analizujcie w pokoju!
Podobał Ci się ten artykuł 🙂?
Podziel się nim w Social Mediach 📱
>>> udostępnij go na LinkedIn i pokaż, że codziennie uczysz się czegoś nowego
>>> wrzuć go na Facebooka, to się może przydać któremuś z Twoich znajomych
>>> Przypnij sobie tą stronkę to zakładek, może się przydać w przyszłości
Wolisz oglądać 📺 niż czytać – nie ma problemu
>>> Obserwuj i oglądaj KajoData na YouTube
Inne ciekawe artykuły: