把所有步骤串起来
现在您已经有了一张漂亮的 Corvallis 地图,但如何把房屋销售的位置叠加上去呢?
与 ggplot() 类似,您可以在一次 ggmap() 调用中添加数据图层(例如 + geom_point())。不过需要注意,ggmap() 会将地图设为默认数据集,并同时设定默认的美学映射。
这意味着,如果您想添加来自地图以外的数据图层(例如 sales),就需要在几何对象中显式指定 mapping 和 data 两个参数。
这会长什么样?您已经见过如何绘制销售点的基础散点图:
ggplot(sales, aes(lon, lat)) +
geom_point()
等价的另一种写法是:
ggplot() +
geom_point(aes(lon, lat), data = sales)
这里,我们把数据和映射放在了 geom_point() 的调用中,而不是 ggplot() 中。这样写的好处是,您可以把 ggplot() 替换为 ggmap() 的调用,就能在图的背景中加入地图。
本练习是课程的一部分
在 R 中可视化地理空间数据
练习说明
已为您加载 ggmap 包,上一练习中的 corvallis_map 也已在您的工作区中可用。
- 先查看销售数据的
head()。您能看到指示房屋位置的列吗? - 将对
ggplot()的调用替换为对ggmap()的调用,并传入corvallis_map。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Look at head() of sales
# Swap out call to ggplot() with call to ggmap()
ggplot() +
geom_point(aes(lon, lat), data = sales)