Python 添加颜色栏并基于值填充多边形
我正在使用底图和一个形状文件来创建覆盖我的底图的多边形。这一切都很好,但现在我想根据列表中1到100之间的值,用不同深浅的绿色填充多边形 我有一个元组排序列表,如下所示:Python 添加颜色栏并基于值填充多边形,python,matplotlib,matplotlib-basemap,Python,Matplotlib,Matplotlib Basemap,我正在使用底图和一个形状文件来创建覆盖我的底图的多边形。这一切都很好,但现在我想根据列表中1到100之间的值,用不同深浅的绿色填充多边形 我有一个元组排序列表,如下所示: kk = Counter(table["county"]).items() ## sort based on the second item in the tuple kk = sorted(kk, key=lambda x: x[1]) kk [('EL DORADO', 1), ('SAN FRANCISCO',
kk = Counter(table["county"]).items()
## sort based on the second item in the tuple
kk = sorted(kk, key=lambda x: x[1])
kk
[('EL DORADO', 1),
('SAN FRANCISCO', 1),
('SACRAMENTO', 2),
('SAN MATEO', 3),
('SHASTA', 3),
('ALAMEDA', 5),
('CONTRA COSTA', 5),
('HUMBOLDT', 6),
('PLUMAS', 6),
('SOLANO', 9),
('LOS ANGELES', 10),
('SAN BENITO', 18)...]
我使用此函数分离元组并分别访问它们的值:
def separateSortedValues(arg):
s_x = []
s_y = []
for x in kk:
s_x.append(x[0])
s_y.append(x[1])
return([s_x, s_y])
下面是我的代码,我在其中遍历一个shapefile,查找具有我要查找的县名称的多边形。如果这是真的,它们将被添加到名为patches
的列表中<代码>补丁然后被传递到补丁集合
,在那里我可以控制分配的颜色
def fill_counties(table_data):
patches = []
counties = table_data[0]
for info, shape in zip(map.counties_info, map.counties):
if info["NAME"] in counties:
patches.append(Polygon(np.array(shape), True))
filled_polygons = PatchCollection(patches, facecolor="green", edgecolor="gray", linewidths=.5, zorder=2)
return(ax.add_collection(filled_polygons))
fill_counties(separateSortedValues(kk))
我希望能够根据与县相关的
表[1]
值使每个多边形具有不同的绿色,因为我不认为将整个PatchCollectionfacevalue
着色为一种颜色是正确的方法。用数组=您的_值
和`cmap=“绿色”替换facecolor
.那么类似于'facecolor=array'?不,就像我在上面的评论中说的那样。patches,array=my_值,cmap=“greens”
像这样吗?