绘制多边形
分级着色地图(choropleth)指的是按某个变量为多边形着色的地图。在 ward_sales 数据框中,您拥有按 ward(选区/区划)层级汇总的房屋销售信息。您的目标是创建一幅地图,用您的一项汇总来为每个 ward 着色:销售次数或平均销售价格。
在该数据框中,每一行描述 ward 边界上的一个点。lon 和 lat 变量给出该点的位置,ward 表示它属于哪个 ward,那么 group 和 order 又是什么?
还记得关于多边形的两个要点吗?一个区域可能由多个多边形描述,而且点的顺序很重要。group 是单个多边形的标识符,但一个 ward 可能由多个多边形组成,因此该 ward 会出现多个 group 值。order 描述应按什么顺序绘制这些点,才能形成正确的形状。
在 ggplot2 中,使用 geom_polygon() 绘制多边形。数据框中的每一行对应边界上的一个点,绘图时会按照它们在数据框中出现的顺序将点连接起来。您需要通过 x 和 y 映射来指定位置变量,并通过 group 映射来指定哪些点属于同一个多边形。
这部分稍有难度,所以在制作目标图之前,我们先进一步探索一下。
本练习是课程的一部分
在 R 中可视化地理空间数据
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Add a point layer with color mapped to ward
ggplot(ward_sales, aes(lon, lat))