Я делаю следующее rworldplot
:
library(rworldmap)
#> Loading required package: sp
#> ### Welcome to rworldmap ###
#> For a short introduction type : vignette('rworldmap')
library(RColorBrewer)
test.data <- data.frame(
country = c('USA','Denmark','Australia','Germany'),
value = c(4000,1000,2300,100)
)
sPDF <- joinCountryData2Map(test.data,joinCode = "NAME",nameJoinColumn = "country")
#> 4 codes from your data successfully matched countries in the map
#> 0 codes from your data failed to match with a country code in the map
#> 239 codes from the map weren't represented in your data
colourPalette <- brewer.pal(4,'Reds')
mapParams <- mapCountryData(sPDF, nameColumnToPlot="value", colourPalette=colourPalette, catMethod=c(0,500,1000,2300,5000), addLegend=FALSE, mapTitle = 'TEST')
do.call( addMapLegend, c( mapParams
, legendLabels="all"
, legendWidth=0.5 ))
Для ясности я также хочу добавить гистограмму:
library(ggplot2)
barplot <- ggplot(test.data, aes(x=reorder(country,-value), y = value)) +
geom_bar(stat='identity', fill = 'darkred') +
theme_classic()
barplot
В идеале я хочу объединить сюжет rworldmap и ggplot на одном рисунке, используя, например. grid.arrange
или пакет cowplot
. Я знаю, что это легко для разных объектов ggplot
, однако do.call
строит rworldmap напрямую, поэтому я не знаю, как я могу получить слово, подобное grid.arrange(<rworlddmapplot>, barplot)
.