我正在看Hadley Wickham的ggplot2的以下示例:

library(ggplot2)
library(maps)
states<-map_data("state")
arrests<-USArrests
names(arrests)<-tolower(names(arrests))
arrests$region<-tolower(rownames(USArrests))

chloro<-merge(states, arrests, by="region")
chloro<-chloro[order(chloro$order), ]
qplot(long, lat, data=chloro, group=group, fill = assault, geom="polygon")

然后,我想在 map 上添加一些著名的美国城市的点,但是我一直无法这样做。我试过了:
base_map<-qplot(long, lat, data=chloro, group=group, fill = assault, geom="polygon")
base_map + qplot(long, lat, data=us.cities) + borders("state", size=.5)

但我收到以下错误:
Error in p + o : non-numeric argument to binary operator
In addition: Warning message:
Incompatible methods ("+.ggplot", "Ops.data.frame") for "+""

如何添加这些点?

最佳答案

这似乎对我来说很好:

base_map +
    geom_point(aes(long, lat,fill = NULL,group = NULL), size = 1,data=us.cities) +
    borders("state", size=.5)

尽管您可能希望排除HI和AK中的城市,但正如我制作此版图时所做的那样:

关于r - 将点添加到ggplot2中的Choropleth映射,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12341281/

10-12 14:02