提问者:小点点

绘制现有协方差数据帧


我想做的是将表格作为熊猫数据帧输入并绘制矩阵。我在这里看到了线程:使用熊猫绘制相关矩阵。但是,前面提到的示例,首先计算了协方差并绘制了'协方差'对象。在我的例子中,我想绘制数据帧对象,使其看起来像示例中的协方差矩阵。

数据链接:这里。


共2个答案

匿名用户

IIUC,您可以将seborn. heatmapannot=True一起使用:

plt.figure(figsize=(6, 4))

(
    pd.read_excel("/tmp/Covariance Matrix.xlsx", header=None)
        .pipe(lambda df: sns.heatmap(df.sample(10).sample(10, axis=1), annot=True, fmt=".1f"))
);

# for a sample of 10 rows / 10 columns

输出:

而且,正如stukituk在评论中建议的那样,您可以为颜色添加cmap="酷暖"

匿名用户

在我看来,另一个答案是一个干净的选择:如何只绘制海运热图的下三角形?

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline

df = pd.read_excel('Covariance Matrix.xlsx', header=None)

# Getting the Upper Triangle of the co-relation matrix
matrix = np.triu(df)

# using the upper triangle matrix as mask 
fig, ax = plt.subplots(figsize=(12,8))
sns.heatmap(df, ax=ax, fmt='.1g', annot=True, mask=matrix)
plt.show()

希望这有助于