Plot heatmap (kdeplot) with geopandas(使用地貌大 pandas 绘制热图(Kdedit))
本文介绍了使用地貌大 pandas 绘制热图(Kdedit)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我将以下数据存储在geopandas.DataFrame
对象中。geometry
是多边形,x
是我要用作热标的值。
id geometry x
9 01001 POLYGON ((-102.10641 22.06035, -102.10368 22.0... 33
19 01002 POLYGON ((-102.05189 22.29144, -102.05121 22.2... 2
29 01003 POLYGON ((-102.68569 22.09963, -102.69087 22.0... 0
39 01004 POLYGON ((-102.28787 22.41649, -102.28753 22.4... 0
49 01005 POLYGON ((-102.33568 22.05067, -102.33348 22.0... 22
我可以使用以下代码绘制地图,并根据x
列中的值为每个多边形上色。
t.plot(column='x', cmap='coolwarm', legend=False)
plt.axis('off')
plt.show()
这还不错,但考虑到我在单个对象中有多个面和值,我想知道是否有办法使用geopandas
将此图转换为热图。
推荐答案
建议我使用geoplot
。
geoplot.kdeplot
需要一个geopandas.DataFrame
对象,每个Point一行。也就是说,类似以下内容:
PointID geometry
0 204403876 POINT (-101.66700 21.11670)
1 204462769 POINT (-101.66700 21.11670)
2 144407530 POINT (-101.66700 21.11670)
3 118631118 POINT (-101.66700 21.11670)
4 118646035 POINT (-101.66700 21.11670)
然后在地图上绘制这些点,地图将作为单独的对象传递。
为了在代码中显示这一点,假设面存储在df_map
中,点存储在df_points
中。
# Import geoplot
import geoplot
import geoplot.crs as gcrs
# Plot heatmap
ax = geoplot.kdeplot(df_points, projection=gcrs.AlbersEqualArea())
# Add polygons
geoplot.polyplot(df_map, ax=ax)
这应该会产生一些类似的结果。
很遗憾,我无法发布我的结果,因为projection=gcrs.AlbersEqualArea()
导致我的会话崩溃,但我希望这对将来的某个人有所帮助。
这篇关于使用地貌大 pandas 绘制热图(Kdedit)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:使用地貌大 pandas 绘制热图(Kdedit)
基础教程推荐
猜你喜欢
- 如何在Python中绘制多元函数? 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- 将 YAML 文件转换为 python dict 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01