从这个数据开始
USER_LONG | USER_LAT | NUMBER_OF_USER_AT_LOCATION
0 24.909 60.154 2
1 24.909 60.155 3
2 24.909 60.156 3
3 24.909 60.157 3
4 24.909 60.158 1
我通过将坐标作为 x 和 y 参数使用 seaborn 制作了散点图。分散的范围是为了显示在同一位置有多少用户。
sns.scatterplot(x=geo_data.USER_LONG, y=geo_data.USER_LAT, hue=geo_data.NUMBER_OF_USER_AT_LOCATION,
size=geo_data.NUMBER_OF_USER_AT_LOCATION, sizes=(20, 200), palette="magma", legend="full")
我想将这个散点图放在城市(赫尔辛基)地图的下方,以使该图更易于理解。我曾尝试使用 geopandas,但没有任何结果,因为我在这里找到的地图坐标:https://hri.fi/data/en_GB/dataset/helsingin-liikennevaylat/resource/a678f192-871d-486d-b45b-32a3a343f85a 没有正确地与我的数据集坐标“通信”。
下面是我的尝试
gdf = gpd.read_file("Hki_liikennevaylat.shp")
crs = {'init':'epsg:3857'}
geometry = [Point(xy) for xy in zip(geo_data["USER_LONG"], geo_data["USER_LAT"])]
geo_df = gpd.GeoDataFrame(geo_data, crs = crs, geometry=geometry)
fig,ax = plt.subplots(figsize=(15,15))
gdf.plot(ax=ax, alpha=0.4, color="grey")
geo_df.plot(ax=ax)
这导致了两个不同的图,而且我丢失了关于同一区域内用户数量的信息。
你是否有一种简单的方法来实现我想要的?