矩阵图

Seaborn 数据可视化进阶

Chris Moffitt

Instructor

将数据整理为正确格式

  • Seaborn 的 heatmap() 需要网格格式的数据
  • 常用 pandas 的 crosstab() 来整理数据
pd.crosstab(df["mnth"], df["weekday"],
values=df["total_rentals"],aggfunc="mean").round(0)

数据网格

Seaborn 数据可视化进阶

构建热力图

sns.heatmap(pd.crosstab(df["mnth"], df["weekday"],
            values=df["total_rentals"], aggfunc="mean")
)

热力图示例

Seaborn 数据可视化进阶

自定义热力图

sns.heatmap(df_crosstab, annot=True, fmt="d", 
            cmap="YlGnBu", cbar=False, linewidths=.5)

热力图示例 2

Seaborn 数据可视化进阶

设置热力图中心值

  • Seaborn 支持将热力图颜色居中到特定值
sns.heatmap(df_crosstab, annot=True, fmt="d",
            cmap="YlGnBu", cbar=True,
            center=df_crosstab.loc[9, 6])

热力图示例 3

Seaborn 数据可视化进阶

绘制相关矩阵

  • pandas 的 corr 计算数据框各列间的相关性
  • 结果可用 seaborn 绘制为热力图
cols = ['total_rentals', 'temp', 'casual', 'hum', 'windspeed']
sns.heatmap(df[cols].corr(), cmap='YlGnBu')

相关矩阵示例

Seaborn 数据可视化进阶

让我们来练习!

Seaborn 数据可视化进阶

Preparing Video For Download...