You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用GeoPandas基于confidence等指定属性绘制加权热力图

加权热力图绘制修正方案

问题根因

geoplot的kdeplot方法的weight参数设计为仅接收GeoDataFrame中对应属性列的列名字符串,直接传入points.confidence这个Series对象会被参数校验逻辑忽略,最终默认按纯地理点密度计算KDE结果。

修正代码

仅需要修改kdeplot调用的weight参数即可,修改后完整代码如下:

import geoplot as gplt
import geopandas as gpd
import geoplot.crs as gcrs
import matplotlib.pyplot as plt

points = gpd.read_file('points.geojson')
polygons = gpd.read_file('polygons.geojson')

ax = gplt.polyplot(polygons, projection=gcrs.AlbersEqualArea(), zorder=1)
# weight参数传入属性列名的字符串即可生效
gplt.kdeplot(points, cmap='Reds', shade=True, clip=polygons, ax=ax, weight='confidence') 

plt.show()

备用兼容方案

如果你使用的geoplot版本极低,仍然无法识别weight参数,可以手动计算加权KDE再可视化:

  • 提取所有点的经纬度坐标和confidence权重
  • 调用scipy.stats.gaussian_kde传入weights参数计算加权核密度
  • 基于边界范围生成网格,将密度值映射到网格后用plt.contourf绘制即可

内容的提问来源于stack exchange,提问作者Tim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 21:06:03