import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns# 生成随机矩阵df = np.random.randint(-10,10,size=(5,8))dfarray([[-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)corrarray([[ 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大小的子图。