0

我正在使用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)
4

0 回答 0