分享

相关系数矩阵与热力图heatmap

 Rainbow_Heaven 2019-10-30
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 生成随机矩阵
df = np.random.randint(-10,10,size=(5,8))
df
array([[-10,  -4,   1,   8,   8,  -9,  -2,  -2],
       [ -4,  -2,   7, -10,  -6,   4,   5,  -1],
       [  6,   4,   1,  -7,   0,   3,   3,   4],
       [  8,  -2,   9,  -4,   0,   1,   2,   0],
       [  3,   5,  -3,   1,  -4,  -3,   8,   2]])
# 计算相关系数矩阵
corr = np.corrcoef(df)
corr
array([[ 1.        , -0.45187846, -0.81601955, -0.41843364, -0.29089038],
       [-0.45187846,  1.        ,  0.4896793 ,  0.54083859,  0.02788629],
       [-0.81601955,  0.4896793 ,  1.        ,  0.48284327,  0.2963696 ],
       [-0.41843364,  0.54083859,  0.48284327,  1.        , -0.14536089],
       [-0.29089038,  0.02788629,  0.2963696 , -0.14536089,  1.        ]])
# 生成热力图
f,ax = plt.subplots(figsize=(10,5))
sns.heatmap(corr,annot=True)
# annot=True表示在方格内显示数值。
<matplotlib.axes._subplots.AxesSubplot at 0x2bd3bce6358>
相关系数矩阵热力图

fig,ax = plt.subplots()等价于:

fig = plt.figure()
ax = fig.add_subplot(1,1,1)

fig, ax = plt.subplots(1,3),其中参数1和3分别代表子图的行数和列数,一共有 1x3 个子图像。函数返回一个figure图像和子图ax的array列表。

fig, ax = plt.subplots(1,3,1),最后一个参数1代表第一个子图。

如果想要设置子图的宽度和高度可以在函数内加入figsize值

fig, ax = plt.subplots(1,3,figsize=(15,7)),这样就会有1行3个15x7大小的子图。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约