2017-06-30 4 views
0

Ich habe eine Karte mit rworldmap geplottet. Aber ich konnte keine Legende mit einer erweiterten Farbpalette einfügen. Ich habe diesen Fehler:Wie füge ich ein Legendenfeld mit einer erweiterten Farbpalette mit R rworldmap hinzu?

Error in legend(.... unused arguments (colourVector1 = "#00008B", colourVector2 = "#0B0B90", ...

Hier ist mein Code:

library(rworldmap) 
#color pallete 
colours = colorRampPalette(c("darkblue", "white"))(23) 

#csvfile 
dF = read.csv("/home/shops.csv", header = T) 

sPDF <- joinCountryData2Map(dF, 
          joinCode = "NAME", 
          nameJoinColumn = "Country", 
          verbose = TRUE) 
mapData = mapCountryData(
    sPDF, 
    nameColumnToPlot="Shops", 
    mapTitle = "Number of facilities around the world", 
    addLegend = F 
) 
do.call(addMapLegendBoxes, c(mapData, cex=0.39, x="left", colourVector = colours)) 

Hier Teil meiner CSV-Datei ist:

  Country Shops 
1 United States 302 
2  Germany 77 
3 United Kingdom 67 
4   Spain 60 
5   France 44 
6   China 35 

Antwort

0

Ich löste mich von ggmap verwenden. Das war die Lösung:

library(ggplot2) 
library(ggmap) 
library(parallel) 

#set workspace 
setwd("/home/") 
#Load data 
df = read.csv("shops.csv", header = T) 
coords = mclapply(X = as.character(df$Country), FUN= function(x) geocode(x)) 
coords=do.call(rbind.data.frame,coords) 
df$lon = coords$lon 
df$lat = coords$lat 

mapWorld <- borders("world", colour="#E7E7E7", fill="#1a0000", alpha = .5) 
mp <- ggplot() + mapWorld 

mp <- mp+ geom_point(aes(x=df$lon, y=df$lat, size=df$Shops), alpha = .9, color="#000033") 
mp <- mp + labs(size= "Number of shops") 
mp <- mp + scale_size_continuous(breaks=c(5, 15, 26, 35, 44, 60, 67, 77, 302)) 
mp <- mp + theme(axis.title.x=element_blank(), 
       axis.text.x=element_blank(), 
       axis.ticks.x=element_blank(), 
       axis.title.y=element_blank(), 
       axis.text.y=element_blank(), 
       axis.ticks.y=element_blank()) 
mp 

csv-Datei:

Country Shops 
1 United States 302 
2  Germany 77 
3 United Kingdom 67 
4   Spain 60 
5   France 44 
6   China 35 
... 

Plot

Verwandte Themen