2017-08-19 1 views
0

Je cherche de l'aide avec les données d'échantillon donné des pays sur une colonne et compte sur une autre colonne. J'essaie de construire un géo-cartes en utilisant ggplot montrant le compte et le nom du pays dans les endroits respectifs de la carte lorsque je plane au-dessus du pays. Voici les exemples de données donnés. J'ai essayé avec le ggmap avec le lat et la position longue pour identifier le pays mais pas capable de montrer le compte et le nom du pays sur le vol stationnaire.ggmap avec la valeur montrant sur les pays

structure(list(Countries = c("USA", "India", "Europe", "LATAM", 
"Singapore", "Phillipines", "Australia", "EMEA", "Malaysia", 
"Hongkong", "Philippines", "Thailand", "New Zealand" 
), count = c(143002, 80316, 33513, 3736, 2180, 1905, 1816, 921, 
707, 631, 207, 72, 49)), .Names = c("Countries", "count"), row.names = c(NA, 
13L), class = "data.frame") 

J'ai essayé le code ci-dessous.

countries = geocode(Countryprofile$Countries) 
Countryprofile = cbind(Countryprofile,countries) 
mapWorld <- borders("world", colour="grey", fill="lightblue") 
q<-ggplot(data = Countryprofile) + mapWorld + geom_point(aes(x=lon, y=lat) ,color="red", size=3)+ 
    geom_text(data = Countryprofile,aes(x=lon,y=lat,label=Countries)) 

ggplotly(q) 
+0

Pouvez-vous inclure le code réel que vous avez essayé et où il ne fonctionne pas pour vous? –

+0

J'ai ajouté le code que j'ai travaillé. Je sentais que la carte avait l'air si simple et c'est pourquoi je n'ai pas posté initialement. – ssan

+0

avez-vous vérifié cette [post] (https://stackoverflow.com/questions/33578168/how-to-plot-regions-in-a-country-each-shaded-by-some-corresponding-value)? – Ashish

Répondre

0

Vous pouvez modifier tout attribut dans le résultat de ggplotly. Dans ce cas, vous pouvez définir l'attribut text de la 2ème trace (où vous avez défini les marqueurs).

plotly_map <- ggplotly(q) 
plotly_map$x$data[[2]]$text <- paste(Countryprofile$Countries, 
            Countryprofile$count, 
            sep='<br />') 
plotly_map 

enter image description here


library(plotly) 
library(ggmap) 
Countryprofile <- structure(list(Countries = c("USA", "India", "Europe", "LATAM", 
          "Singapore", "Phillipines", "Australia", "EMEA", "Malaysia", 
          "Hongkong", "Philippines", "Thailand", "New Zealand" 
), count = c(143002, 80316, 33513, 3736, 2180, 1905, 1816, 921, 
      707, 631, 207, 72, 49)), .Names = c("Countries", "count"), row.names = c(NA, 
                         13L), class = "data.frame") 
countries = geocode(Countryprofile$Countries) 
Countryprofile = cbind(Countryprofile,countries) 
mapWorld <- borders("world", colour="grey", fill="lightblue") 
q<-ggplot(data = Countryprofile) + mapWorld + geom_point(aes(x=lon, y=lat) ,color="red", size=3)+ 
    geom_text(data = Countryprofile,aes(x=lon,y=lat,label=Countries)) 

plotly_map <- ggplotly(q) 
plotly_map$x$data[[2]]$text <- paste(Countryprofile$Countries, Countryprofile$count, sep='<br />') 
plotly_map 
+0

Merci beaucoup !! – ssan