【发布时间】:2020-10-12 05:43:11
【问题描述】:
Seaborn 热图将热图应用于所有行和列。如何按列应用热图,即每列的最大值是最亮的 - 例如查看每天最繁忙的时间?
【问题讨论】:
Seaborn 热图将热图应用于所有行和列。如何按列应用热图,即每列的最大值是最亮的 - 例如查看每天最繁忙的时间?
【问题讨论】:
实现这一目标的最简单方法是对每列中的数据进行规范化。首先让我们为示例生成一些数据:
# Generate some data to show example
import seaborn as sns
import pandas as pd
import numpy as np; np.random.seed(8)
days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
hours = list(range(8,18))
example_peak_hour = np.array([0, 1, 2, 3, 6, 7, 8, 12, 7, 3])
data = [p*example_peak_hour for p in np.random.randint(5, 50, len(days))]
df = pd.DataFrame(np.array(data).T, columns=days, index=hours)
使用 searborn 热图绘制它并使用 df.max() 对其进行标准化):
sns.heatmap(sns.heatmap(df/df.max()))
【讨论】: