在python中制作一组简单的chloropleth映射-颜色不显示

时间:2019-02-26 15:00:52

标签: python gis shapefile geopandas

这是我要绘制的shapefile:

link to a zipped shapefile

说我想映射列liab。我可以看到它具有值的分布:

import geopandas as gpd
import matplotlib.pyplot as plt
foo = gpd.read_file("foo.shp")
plt.hist(foo.liab)

enter image description here

但是当我尝试绘制它们时,我看不到任何颜色:

foo.plot(column = "liab", legend = True)

enter image description here

这是怎么回事?

最终,我想制作一张地图网格,类似于R中的facet_wrap中的ggplot2。是否有python类似物?

1 个答案:

答案 0 :(得分:1)

我无法告诉您原因,但是您需要为色图指定vmin|max。我以为geopandas会自动执行此操作,这只是一个小例子,但不适用于您的shapefile:

import geopandas

ax = (
    geopandas.read_file('/mnt/c/users/phobson/downloads/foo/foo.shp')
        .to_crs({'init': 'epsg:3083'})
        .plot(column="liab", legend=True, figsize=(10, 4),
              vmin=0.0, vmax=1)  # <-- magic is here
)

enter image description here