请原谅,如果标题让人困惑,英语不是我的主要语言,我会尽可能地解释我自己,而且,我不擅长制图,我正在学习
我的代码使用“几何体中的点”和“地理坐标板”在形状文件表示上绘制点。我想用我的数据创建一个热图。一些研究表明,为了这样做,我需要有一个表示“热量”大小的值,我可以使用我已有的点创建这样的数据列吗,例如,如果在绘图的xy区域有很多点,那么该点的值将表示小而明亮的热量
这是我的密码:
import pandas as pd
import matplotlib.pyplot as plt
import descartes
import geopandas as gpd
from shapely.geometry import Point, Polygon
street_map = gpd.read_file('shape_files/Street_Network_Database_(SND).shp')
fig, ax = plt.subplots(figsize=(15,15))
street_map.plot(ax=ax, color="grey", alpha=0.3)
df = pd.read_csv('data.csv')
crs = {"init":"epsg:4326"}
geometry = [Point(xy) for xy in zip(df["longitude"], df["latitude"])]
geo_df = gpd.GeoDataFrame(df, crs=crs, geometry=geometry)
geo_df.plot(ax = ax, markersize = 10, color = "blue", marker = "o", label = "POI")
以下是此代码的结果:
您可以通过geoplot包中的内核密度估计来实现这一点
检查这里的语法:geoplot.kdeplot
以及页面底部的geopandas示例:Plotting with Geoplot and GeoPandas
您可以仅从纬度和经度列表中使用^{} 轻松制作热图:
相关问题 更多 >
编程相关推荐