python - 使用 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)
解决方案
它适用于:
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))