Как легко создавать тепловые карты в 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)
На цветной полосе справа отображается легенда, указывающая значения, представленные разными цветами.
Добавьте линии на тепловую карту
Вы можете добавить линии между квадратами на тепловой карте, используя аргумент ширины линий :
sns.heatmap(df, linewidths=.5)
Добавьте аннотации к тепловой карте
Вы также можете добавить аннотации к тепловой карте, используя аргумент annot=True :
sns.heatmap(df, linewidths=.5, annot=True)
Скрыть цветовую панель тепловой карты
Вы также можете полностью скрыть цветовую полосу, используя опцию cbar=False :
sns.heatmap(df, linewidths=.5, annot=True, cbar=False)
Изменить цветовую тему тепловой карты
Вы также можете изменить цветовую тему, используя аргумент cmap . Например, вы можете установить цвета в диапазоне от желтого до зеленого и синего:
sns.heatmap(df, cmap='YlGnBu')
Или вы можете изменить цвета от красного к синему:
sns.heatmap(df, cmap='RdBu')
Полный список цветовых палитр смотрите в документации matplotlib .