我正在使用colormap.YlOrRd彩色地图根据该地区的人口对地图上的每个多边形(地区)进行着色。
但是,如果我想根据三种可能的结果(例如天主教、长老会或圣公会)对每个地区进行着色,您会推荐哪种颜色地图。或者说保守派、自由主义者或社会主义者。或已婚,单身或离婚。我在地图上有 5,000 个区,我不想使用散点饼图。
这是针对两种可能结果的解决方案:
此外,假设其中两个结果密切相关,而第三个结果则不相关 - 例如:右翼党、社会主义人民党和社会主义人民党。在这里,最好给地图涂上阴影,以便清楚右翼在一个地区是否占多数,同时仍然能够看到两个社会主义政党之间的差异。
所以可以说我的数据是这样组织的:
RP SP PS Jefferson Urban 1: 30 40 30 Jefferson Urban 2: 40 40 20 Jefferson Urban 3: 10 30 60 Jefferson Urban 4: 5 20 75 Washington Ward 1: 80 0 20 Washington Ward 2: 90 5 5 Lincoln Park West: 10 5 85 Lincoln Park East: 10 0 90
这是我发现的三种结果解决方案中的一种:
根据每个地区最大的政党对地图进行着色。不完全是我所追求的,因为您无法了解每个政党在地区层面的表现。也许最好为每一方准备三张单独的地图。
我目前根据人口密度对每个地区进行着色,如下所示:
colormap = cm.YlOrRd
norm = colors.LogNorm(vmin=(min(population.values())), vmax=(max(population.values())))
sm = plt.cm.ScalarMappable(cmap=colormap, norm=norm)
sm.set_array([])
for district in population:
col = colormap(population[district])
p = PolygonPatch(polygon[district],facecolor=col, edgecolor=col, zorder=2, lw=None, transform=ccrs.PlateCarree())
ax.add_patch(p)
