如何在 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') 

Python 中不同 cmap 的热图

有关调色板的完整列表,请参阅matplotlib 文档

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注