python +gis 点数据转栅格数据 绘制矩阵图

python +gis 点数据转栅格数据 绘制矩阵图

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['SimHei'] #将全局字体设为黑体
mpl.rcParams['axes.unicode_minus']=False
#import rain_contour
#from mpl_toolkits.basemap import Basemap
import matplotlib
df = pd.DataFrame(np.random.random([4, 5]),
     columns=['A', 'B', '0','D','E'], index=['first', 'second', 'third','4'])
print(df)
#相关程度分析
import seaborn as sns
dataHappiness = df

f, ax= plt.subplots(figsize = (7, 5))
colnm = dataHappiness.columns.tolist()  
mcorr = dataHappiness[colnm].corr(method="spearman")  # 相关矩阵
mask = np.zeros_like(mcorr, dtype=np.bool)  # 构造相关矩阵 bool型次
#mask[np.triu_indices_from(mask)] = True  # 设置对角线

cmap = sns.diverging_palette(200, 8, as_cmap=True)  #设置颜色sns.husl_palette(10, l=.4)
sns.heatmap(mcorr, mask=mask, cmap=cmap, vmax = 1,vmin=-1, linewidths=1, cbar =True,
            cbar_kws={'label': u'相关程度'}, square=True, annot=True,
            annot_kws={'size':10,'color':'black'}, 
            fmt='0.1f', ax=ax)  # 热力图
ax.set_title('相关矩阵图',fontsize=20)
ax.figure.axes[-1].yaxis.label.set_size(10)#设置图例标题大小

ax.tick_params(axis='y',labelsize=10) # y轴字体大小
ax.tick_params(axis='x',labelsize=10) # x轴字体大小
plt.savefig('test.tif')

在这里插入图片描述
在这里插入图片描述
总结:通过这种方法可以实现矩阵图,实现点数据显示为栅格数据,附上GIS信息

相关参考:

python画热力图(相关系数矩阵图):https://blog.csdn.net/henbile/article/details/80241597

sns.heatmap(pd.DataFrame(np.round(a,2), columns = ['a', 'b', 'c'], index = range(1,5)), 
                annot=True, vmax=1,vmin = 0, xticklabels= True, yticklabels= True, square=True, cmap="YlGnBu")

注:直接pd.DataFrame 也可以做矩阵图

  • 0
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值