Wykres w Pythonie – biblioteka matplotlib

20 października 2022

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:

wykres w pythonie

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')
wykres w pythonie skala logarytmiczna

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)
biblioteka matplotlib - histogram

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)
wykres w pythonie - histogram

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ś X
  • ylabel() opisuje oś Y
  • title() 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()
biblioteka matplotlib yticks xticks

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()
wykres w pythonie biblioteka matplotlib analiza

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:

Ja Ci ją z przyjemnością wyślę. Za darmo. Bez spamu.

Poradnik Początkującego Analityka

Video - jak szukać pracy w IT

Regularne dawki darmowej wiedzy, bez spamu.