首页 > 解决方案 > 使用 Geoplot 将颜色固定到 bin

问题描述

我需要不同的地图,并希望以相同的颜色看到相同的值。这里作为一个例子:颜色由于不同的数据范围而改变。我怎样才能解决这个问题?

例子

我的代码:

    fig, ax = plt.subplots(1, figsize=(20, 20))
    ax.axis('off')
    cmap = ListedColormap(['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf'])
    Scheme = mc.UserDefined(data[field],
    bins=[0, 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500])

    gplt.choropleth(
        data, hue=data[field], linewidth=0.5, scheme=Scheme, legend=True,
        cmap=cmap, ax=ax
           )
    fig = plt.gcf()
    plt.savefig(file_path+field+'.pdf')
    plt.close(fig)

标签: python

解决方案


它适用于:

Scheme = mc.UserDefined(data[field],
                            bins=[0, 20, 40, 60, 80, 100, 120,
                                  140, 160])
    bins = UserDefined(data[field],
                       bins=[0, 20, 40, 60, 80, 100, 120,
                             140, 160]).bins
    
gplt.choropleth(
        data, hue=data[field], linewidth=0.5, scheme=Scheme, legend=True,
        cmap='Greens', ax=ax, norm=Normalize(0, len(bins)))` norm=Normalize(0, len(bins))

推荐阅读