2017-06-20 97 views
0

我创建了一个使用ggplot2库的世界地图。使用ggplot2标记世界地图上的点?

Map

我试图通过分别在GGPLOT2使用标签来标记两个城市(上海和圣保罗)。然而,当我尝试添加标签,我得到错误信息:

Warning: Ignoring unknown aesthetics: labels 
Error: geom_text requires the following missing aesthetics: x, y, label 

下面是完整的代码:

require(maps) 
require(mapdata) 
library(ggplot2) 

countries = c("Sao Paulo","Shanghai") 

global <- map_data("world") 
ggplot() + geom_polygon(data = global, aes(x=long, y = lat, group = 
group)) + 
    coord_fixed(1.3) 

ggplot() + 
    geom_polygon(data = global, aes(x=long, y = lat, group = group), 
fill = NA, color = "red") + 
    coord_fixed(1.3) 

gg1 <- ggplot() + 
    geom_polygon(data = global, aes(x=long, y = lat, group = group), 
fill = "green", color = "blue") + 
    coord_fixed(1.3) 
gg1 

labs <- data.frame(
    long = c(-46.625290,121.4580600), 
    lat = c(-23.533773,31.2222200), 
    stringsAsFactors = FALSE 
) 

gg1 + 
    geom_point(data = labs, aes(x = long, y = lat), color = "red", size 
= 5) + ggtitle("World Map") + geom_text(aes(labels=countries),vjust=0, 
colour="red") 

显然,我使用ggplot错误在某种程度上,但找不出如何。任何帮助,将不胜感激。

回答

0
labs$countries <- countries 
gg1 + 
    geom_point(data=labs, aes(long, lat), colour="red", size=5) + 
    ggtitle("World Map") + 
    geom_text(data=labs, aes(long, lat, label=countries)) 

enter image description here