Jak łatwo tworzyć mapy cieplne w pythonie


Załóżmy, że mamy następujący zbiór danych w Pythonie, który wyświetla liczbę sprzedaży dokonanej przez określony sklep każdego dnia tygodnia przez pięć tygodni:

 import numpy as np
import pandas as pd 
import seaborn as sns

#create a dataset
np.random.seed(0)
data = {'day': np.tile(['Mon', 'Tue', 'Wed', 'Thur', 'Fri'], 5),
        'week': np.repeat([1, 2, 3, 4, 5], 5),
        'sales': np.random.randint(0, 50, size=25)
        }

df = pd.DataFrame(data,columns=['day','week','sales'])
df = df.pivot('day', 'week', 'sales')

view first ten rows of dataset
df[:10]

week 1 2 3 4 5
day					
Fri 3 36 12 46 13
My 44 39 23 1 24
Thursday 3 21 24 23 25
Kills 47 9 6 38 17
Wed 0 19 24 39 37

Utwórz podstawową mapę cieplną

Podstawową mapę cieplną możemy stworzyć za pomocą funkcji ns.heatmap() :

 sns.heatmap(df) 

Mapa cieplna w Pythonie

Pasek kolorów po prawej stronie wyświetla legendę wskazującą wartości reprezentowane przez różne kolory.

Dodaj linie do mapy cieplnej

Możesz dodać linie pomiędzy kwadratami na mapie cieplnej za pomocą argumentu linewidths :

 sns.heatmap(df, linewidths=.5) 

Mapa cieplna Marine Python

Dodaj adnotacje do mapy cieplnej

Możesz także dodać adnotacje do mapy cieplnej, używając argumentu annot=True :

 sns.heatmap(df, linewidths=.5, annot=True) 

Mapa cieplna z adnotacjami w Pythonie

Ukryj pasek kolorów mapy cieplnej

Możesz także całkowicie ukryć pasek kolorów, używając opcji cbar=False :

 sns.heatmap(df, linewidths=.5, annot=True, cbar=False) 

Przykład mapy cieplnej w Pythonie

Zmień motyw kolorów mapy cieplnej

Możesz także zmienić motyw kolorów za pomocą argumentu cmap . Na przykład możesz ustawić kolory w zakresie od żółtego przez zielony do niebieskiego:

 sns.heatmap(df, cmap='YlGnBu')

Mapa cieplna Pythona

Możesz też zmienić kolory z czerwonego na niebieski:

 sns.heatmap(df, cmap='RdBu') 

mapa cieplna z różnymi cmapami w Pythonie

Pełną listę palet kolorów można znaleźć w dokumentacji matplotlib .

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *