如何 return 来自 matplotlib 的图例数据
How to return legend data from matplotlib
我使用 geopandas 从 shapefile 创建了一个数据框,然后使用 gdf.plot 函数绘制。
我希望按以下格式或类似格式将颜色值分配给数据类别:
{'1':'black(or color hex code)',
'2':'color/#hexcode'....,
'7':'color/#hexcode'}
该图是使用以下代码创建的:
plot = geodataframe.plot(
column='map_c',
categorical=True,
legend=True,
ax=ax,
cmap='Accent_r')
是否可以从情节中获取此元数据?
这是我使用 pylab 发现的解决方法
from pylab import cm
from matplotlib.colors import rgb2hex
cmap = cm.get_cmap('Accent_r', 7) #7 categories I had
plot = geodataframe.plot(
column='map_c',
categorical=True,
legend=True,
ax=ax,
cmap= cmap)
hexes = [rgb2hex(cmap(i)) for i in range(cmap.N)]
参考这个回答:
我使用 geopandas 从 shapefile 创建了一个数据框,然后使用 gdf.plot 函数绘制。 我希望按以下格式或类似格式将颜色值分配给数据类别:
{'1':'black(or color hex code)',
'2':'color/#hexcode'....,
'7':'color/#hexcode'}
该图是使用以下代码创建的:
plot = geodataframe.plot(
column='map_c',
categorical=True,
legend=True,
ax=ax,
cmap='Accent_r')
是否可以从情节中获取此元数据?
这是我使用 pylab 发现的解决方法
from pylab import cm
from matplotlib.colors import rgb2hex
cmap = cm.get_cmap('Accent_r', 7) #7 categories I had
plot = geodataframe.plot(
column='map_c',
categorical=True,
legend=True,
ax=ax,
cmap= cmap)
hexes = [rgb2hex(cmap(i)) for i in range(cmap.N)]
参考这个回答: