【问题标题】:Plotting values on map with geopandas用 geopandas 在地图上绘制值
【发布时间】:2021-08-21 02:15:46
【问题描述】:

我有 1991-2020 年和五个国家/地区的这些数据。

Date          Temperature    Units  Year Month Statistics Country CODE
                                                             
Jan 2020        -26.2  Celsius  1991   Jan    Average  Canada  CAN
Feb 2020        -21.0  Celsius  1991   Feb    Average  Canada  CAN
Mar 2020        -18.2  Celsius  1991   Mar    Average  Canada  CAN
Apr 2020         -8.6  Celsius  1991   Apr    Average  Canada  CAN
May 2020          0.8  Celsius  1991   May    Average  Canada  CAN

m2020

 pop_est      continent    name CODE  ...  Country ISO2   latitude   longitude
0  35623680  North America  Canada  CAN  ...   Canada   CA  56.130366 -106.346771
1  35623680  North America  Canada  CAN  ...   Canada   CA  56.130366 -106.346771
2  35623680  North America  Canada  CAN  ...   Canada   CA  56.130366 -106.346771
3  35623680  North America  Canada  CAN  ...   Canada   CA  56.130366 -106.346771
4  35623680  North America  Canada  CAN  ...   Canada   CA  56.130366 -106.346771

在世界地图中,我正在绘制 2020 年每个国家/地区的温度。我想为每个月创建一个图,所以我创建了一个循环遍历每个月。当我绘图时,我确实得到了 12 个绘图,但温度的值在整个月内都没有变化。你知道可能是什么问题吗?在我的情节中,我想看到例如 1 月加拿大显示蓝色表示 -26,而 5 月显示绿色表示 0.8 度。

我这样做了:

world = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))world.columns=['pop_est', 'continent', 'name', 'CODE', 'gdp_md_est', 'geometry']
    
for i in m2020.groupby(['Month']).Month:
    fig, ax = plt.subplots(figsize=(15,12))
    world.plot(ax=ax, color='lightgrey')
    m2020.plot(x="longitude", y="latitude", kind="scatter",
                      c='Temperature', colormap="hsv", 
                      ax=ax)
    plt.title(i[0])
    plt.show()

【问题讨论】:

    标签: python pandas dataframe matplotlib geopandas


    【解决方案1】:

    您可以先尝试在 for 循环之前插入最小和最大温度变量的范围:

    vmin=m2020["温度"].min()

    vmax=m2020["温度"].max()

    然后修改for循环里面的第三行:

    m2020.plot("Temperature",x="longitude", y="latitude", kind="scatter",
                          vmin=vmin, vmax=vmax, colormap="hsv",ax=ax)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-03
      • 1970-01-01
      • 2016-11-10
      • 2019-09-05
      相关资源
      最近更新 更多