fbpx

Zwizualizowane dane pomagają nam lepiej zrozumieć informacje, które mają być przekazane. Nieprzypadkowo w prezentacjach umieszcza się dane w postaci wykresów słupkowych lub innego typu reprezentacji graficznej. Skorzystanie z odpowiedniej formy graficznej wymaga dobrego przemyślenia. Chcemy, aby nasz przekaz był dobrze zrozumiany przez osobą, do której kierujemy taką formę graficzną. Wbrew pozorom storytelling danych może należeć do czynności trudnych.

Wpis ten podzieliłem na dwie części, do każdego z przykładów umieszczam kod w Pythonie, który możesz wypróbować w narzędziu Google Collab lub Jupyter Notebook.

Mapy cieplne(heat map)

Przedstawiają dane w matrycy przy użyciu kolorów. Zwykle są one zgodne z temperaturą barwową danego koloru, np. czerwony, pomarańczowy, niebieski. Najczęściej pomagają podkreślić i porównać znaczenie kluczowych obszarów.

Mapy cieplne(heat map) - Storytelling danych - iLoveData.pl
import matplotlib.pyplot as plt
import pandas as pd
 
df = pd.DataFrame([[10, 20, 10, 40], [38, 14, 21, 28], [4, 15, 8, 12],
                    [15, 14, 1, 8]],
                  columns=['Jabłko', 'Pomarańcza', 'Banan', 'Gruszka'],
                  index=['Koszyk1', 'Koszyk2', 'Koszyk3', 'Koszyk4']
                  )
 
plt.imshow(df, cmap="Reds")
plt.colorbar()
plt.xticks(range(len(df)),df.columns, rotation=10)
plt.yticks(range(len(df)),df.index)
plt.show()

Wykres słupkowy(bar chart)

Wykres słupkowy grupuje dane w proporcjonalne słupki informacji, które mogą być wyświetlane zarówno w pionie jak i poziomie. Ten typ wykresu jest dobrym rozwiązaniem, jeżeli chcemy porównać dane ilościowe w odniesieniu do x i y.

Wykres słupkowy(bar chart) - Storytelling danych - iLoveData.pl
import matplotlib.pyplot as plt
 
year = [2015, 2016, 2017, 2018, 2019, 2020]
unit = [1750, 1850, 2000, 2100, 2250, 2600]
 
plot = plt.bar(year, unit)
 
# Dodanie PLN nad slupkiem
for value in plot:
    height = value.get_height()
    plt.text(value.get_x() + value.get_width()/2.,
             1.002*height,'%d' % int(height), ha='center', va='bottom')
 
plt.title("Wysokosc placy minimalnej w latach 2015-2020")
plt.xlabel("Rok")
plt.ylabel("PLN")

plt.show()

Histogramy i rozkład prawdopodobieństwa

W przypadku tej formy wizualizacji możesz przedstawić dane ilościowe. Są odpowiednie do danych podkreślających szczyty i minima w naszym zbiorze danych.

Histogram i rozkład prawdopodobieństwa - Storytelling danych - iLoveData.pl
import numpy as np
import matplotlib.pyplot as plt
 
# Data in numpy array
exp_data = np.array([230, 178, 190, 230, 176, 195, 268, 219, 190, 279, 230, 230, 235, 245, 167, 195, 230, 149, 167, 
                     350, 320, 325, 230, 194, 123, 220, 215, 210, 267, 210, 249, 257, 261, 210, 320, 210, 310, 315])
 
# Plot the distribution of numpy data
plt.hist(exp_data, bins = 19)
 
# Add axis labels
plt.xlabel("Długość")
plt.ylabel("Liczba drzew")
plt.title("Liczba drzew i ich wysokość")
 
plt.show()

Wykres liniowy(line chart)

Jeden z najpopularniejszych wykresów. Łączy punkty na wykresie z pomocą linii, najczęściej łamanej, od pierwszej wartości do ostatniej. Wykresy liniowe są przydatne do pokazywania zmian lub trendów.

Wykres liniowy(line chart) - iLoveData.pl
import matplotlib.pyplot as plt
import numpy as np
 
# Losowe wygenerowanie wartości
values=np.cumsum(np.random.randn(1000,1))
plt.title("Losowo wygenerowany wykres")

plt.plot(values)

Część druga niebawem 🙂

Dla początkujących i doświadczonych
Odbierz ebook - SQL dla analityków 

Znajdziesz w nim zestaw najważniejszych instrukcji oraz zapytania z przykładami.

Ebook podzielony na sekcje:

1. Zarządzanie tabelami
2. Zapytania w obrębie jednej tabeli
3. Zapytania dla wielu tabel
4. Modyfikacja danych
5. Funkcje agregujące

Invalid email address