from pyspatialml import Raster
import os
import matplotlib.pyplot as plt
import geopandas
import pandas as pd
import seaborn as sn
import rasterio.plot
import numpy as np
import seaborn as sns
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_excel('J:\\0xx\\l_1.xls')
df = data.iloc[: ,:]
print(df.corr(method='spearman'))# 这组数据采用默认spearman进行相关性分析
这里斯皮尔曼相关系数计算完了,下面看下热力图绘制,我也是参考的别人的博客链接
这个博客写的非常不错,可以看看
import pandas as pd
import seaborn as sns
from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #图片显示中文
plt.rcParams['axes.unicode_minus'] =False #减号unicode编码
shuju=pd.read_csv('J:\\0xxs\\total_data\\xx1.csv')
print(shuju)
shuju.isnull().sum() #看下有没有缺失值:
print(shuju)
shuju.describe() #查看数据描述
plt.figure(figsize=(25,20))
sns.heatmap(shuju.corr(method='spearman') , annot=True) #shuju.corr() :计算各变量之间的相关系数
# 设置刻度字体大小
plt.xticks(fontsize=9)
plt.yticks(fontsize=9)
plt.show()
热力图另外一种方法:
'''======导入第三方库========'''
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题,负号正常显示
'''=======读取数据==========='''
data=pd.read_csv('热图分析.csv', encoding='gbk')
data.head()
corr = data.corr(method='spearman') # shuju.corr() :计算各变量之间的相关系数,corr(method='pearson')默认方法选择person相关性,'spearman'秩相关。如果你想选择其它方法,请修改meathod参数。这里我们就用皮尔逊进行演示。
'''=====热图可视化============'''
plt.subplots(figsize=(9, 9)) # 设置画面大小
# annot=True,是显式热力图上的数值;vmax是显示最大值;xticklabels、yticklabels轴标签显示;square=True,将图变成一个正方形,默认是一个矩形;cmap="Blues"是一种模式,就是图颜色配置。
# mask:控制某个矩阵块是否显示出来,默认值是None,如果是布尔型的DataFrame,则将DataFrame里True的位置用白色覆盖掉
sns.heatmap(corr, annot=True, vmax=1, vmin=0, xticklabels=True, yticklabels=True, square=True, cmap="YlGnBu",
linewidths=0.05, linecolor='y') # mask=t < 0.8等价于mask=(t < 0.8)
plt.title('变量相关系数 - 热图\n', fontsize=18) # 添加图表标题“变量相关系数 - 热图”,fontsize=18 字体大小 可省略
plt.xticks(fontsize=12)
plt.yticks(fontsize=12)
plt.show()
我用的jupyter运行的代码,如果别的解释器注意格式
修改颜色的博客链接
颜色效果如下:
Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, CMRmap, CMRmap_r, Dark2, Dark2_r, GnBu(绿到蓝), GnBu_r, Greens, Greens_r, Greys, Greys_r, OrRd(橘色到红色), OrRd_r, Oranges, Oranges_r, PRGn, PRGn_r, Paired, Paired_r, Pastel1, Pastel1_r, Pastel2, Pastel2_r, PiYG, PiYG_r, PuBu, PuBuGn, PuBuGn_r, PuBu_r, PuOr, PuOr_r, PuRd, PuRd_r, Purples, Purples_r, RdBu, RdBu_r, RdGy, RdGy_r, RdPu, RdPu_r, RdYlBu, RdYlBu_r, RdYlGn, RdYlGn_r, Reds, Reds_r, Set1, Set1_r, Set2, Set2_r, Set3, Set3_r, Spectral, Spectral_r, Wistia(蓝绿黄), Wistia_r, YlGn, YlGnBu, YlGnBu_r, YlGn_r, YlOrBr, YlOrBr_r, YlOrRd(红橙黄), YlOrRd_r, afmhot, afmhot_r, autumn, autumn_r, binary, binary_r, bone, bone_r, brg, brg_r, bwr, bwr_r, cividis, cividis_r, cool, cool_r, coolwarm(蓝到红), coolwarm_r, copper(铜色), copper_r, cubehelix, cubehelix_r, flag, flag_r, gist_earth, gist_earth_r, gist_gray, gist_gray_r, gist_heat, gist_heat_r, gist_ncar, gist_ncar_r, gist_rainbow, gist_rainbow_r, gist_stern, gist_stern_r, gist_yarg, gist_yarg_r, gnuplot, gnuplot2, gnuplot2_r, gnuplot_r, gray, gray_r, hot, hot_r(红黄), hsv, hsv_r, icefire, icefire_r, inferno, inferno_r, jet, jet_r, magma, magma_r, mako, mako_r, nipy_spectral, nipy_spectral_r, ocean, ocean_r, pink, pink_r, plasma, plasma_r, prism, prism_r, rainbow, rainbow_r, rocket, rocket_r, seismic, seismic_r, spring, spring_r, summer (黄到绿), summer_r (绿到黄), tab10, tab10_r, tab20, tab20_r, tab20b, tab20b_r, tab20c, tab20c_r, terrain, terrain_r, twilight, twilight_r, twilight_shifted, twilight_shifted_r, viridis, viridis_r, vlag, vlag_r, winter, winter_r