将地图添加到 seaborn 散点图

时间:2021-01-17 21:45:26

标签: python dictionary seaborn

从这个数据开始

    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")

结果如下图 enter image description here

我想将这个散点图放在城市(赫尔辛基)地图的下方,以使该图更易于理解。我曾尝试使用 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)

这导致了两个不同的图,而且我丢失了关于同一区域内用户数量的信息。

你是否有一种简单的方法来实现我想要的?

0 个答案:

没有答案