Як легко створити теплові карти в python


Припустімо, у нас є такий набір даних у Python, який відображає кількість продажів, здійснених певним магазином кожного дня тижня протягом п’яти тижнів:

 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

Створіть базову теплову карту

Ми можемо створити базову теплову карту за допомогою функції ns.heatmap() :

 sns.heatmap(df) 

Теплова карта в Python

На кольоровій панелі з правого боку відображається легенда, що вказує на значення, представлені різними кольорами.

Додайте лінії до теплової карти

Ви можете додати лінії між квадратами на тепловій карті за допомогою аргументу linewidths :

 sns.heatmap(df, linewidths=.5) 

Морська теплова карта Python

Додати анотації до теплової карти

Ви також можете додати анотації до теплової карти за допомогою аргументу annot=True :

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

Теплова карта, анотована на Python

Сховати кольорову панель теплової карти

Ви також можете повністю приховати панель кольорів за допомогою параметра cbar=False :

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

Приклад теплової карти в Python

Змінити колірну тему теплової карти

Ви також можете змінити колірну тему за допомогою аргументу cmap . Наприклад, ви можете встановити діапазон кольорів від жовтого до зеленого та синього:

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

Теплова карта Python

Або ви можете вибрати кольори від червоного до синього:

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

теплова карта з різною cmap у Python

Щоб отримати повний список палітр кольорів, перегляньте документацію matplotlib .

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *