Python geopandas - 地图上的纳米值

问题描述 投票:0回答:1

现在,这部分代码给我提供了每个地图区域的每个单元格的数字,甚至是在这些没有数据的区域。如何只显示初始表中有数值的区域?

import matplotlib as mpl
import matplotlib.pyplot as plt
import geopandas as gpd
import pandas as pd

...

variable = 'price'
vmin, vmax = 10,90
fig=plt.figure(figsize=(12,12))

axK = fig.add_subplot(2,2,1)
mergedK.plot(column=variable, cmap='Blues',
            vmin=vmin,
            vmax=vmax,
            linewidth=0.8, ax=axK, edgecolor='0.8')

for _,region in mergedK.iterrows():
    axK.annotate(region['price'],
                  xy=(region.geometry.centroid.x,
                      region.geometry.centroid.y),fontsize=8)
plt.show()
python pandas label nan geopandas
1个回答
1
投票

最新的GeoPandas(0.7.0)会自动处理缺失的数值。最简单的方法是更新。默认情况下,缺失的值不会显示在地图上,但你可以指定样式kwargs来以你喜欢的方式显示它们。请看 文件 了解更多细节。

要跳过缺失值的注释,只需将此条件添加到你的循环中。

for _,region in mergedK.iterrows():
    if pd.notna(region['price']):
        axK.annotate(region['price'],
                      xy=(region.geometry.centroid.x,
                      region.geometry.centroid.y),fontsize=8)
© www.soinside.com 2019 - 2024. All rights reserved.