首页 > 解决方案 > 在 python 中制作一组简单的叶绿素图——颜色不显示

问题描述

这是我正在尝试绘制的 shapefile:

链接到压缩的 shapefile

假设我要映射列liab。我可以看到它有一个值分布:

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

在此处输入图像描述

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

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

在此处输入图像描述

这是怎么回事?

最终,我想制作一个地图网格,类似于Rfacet_wrap中的ggplot2in。是否有 python 模拟?

标签: pythongisshapefilegeopandas

解决方案


我不能告诉你为什么,但你需要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
)

在此处输入图像描述


推荐阅读