从字典创建色彩图

时间:2019-12-17 03:38:03

标签: python matplotlib geopandas

我正在使用geopandas绘制具有分类颜色的地图。 geopandasmatplotlib的接口,因此相同的结构应该起作用。我要做的是使每个key以特定的颜色显示。只要可以将No data设置为灰色,就可以使用预定义厘米的随机颜色。

keys = ['A', 'B', 'C', 'D', 'No data']
color_range = list(np.linspace(0, 1, len(keys), endpoint=False))
colors = [plt.cm.Pastel1(x) for x in color_range]
color_dict = dict(zip(keys, colors))
color_dict['No data'] = 'lightgrey'

我从中获得的字典看起来是正确的:

{'A': (0.98, 0.70, 0.68, 1.0), 
'B': (0.70, 0.80, 0.89, 1.0), 
'C': (0.87, 0.79, 0.89, 1.0), 
'D': (1.0, 1.0, 0.8, 1.0), 
'No data': 'lightgrey'}

当我尝试将其转换为颜色图时,出现KeyError:0

cmap = LinearSegmentedColormap.from_list('mycmap', color_dict)

我的最终绘图命令是:

merged_df.plot(column='GROUP', categorical=True, legend=True, cmap=cmap)

0 个答案:

没有答案