如何在 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)
右侧的颜色条显示一个图例,指示不同颜色代表的值。
将线条添加到热图
您可以使用linewidths参数在热图中的方块之间添加线条:
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 文档。