R - 带刻面的ggplot:在地图上放置刻面

时间:2017-09-18 21:53:57

标签: r ggplot2 maps facet

我使用带有facet的ggplot2包来显示一些数据。数据可以是,例如,在不同大陆(或城市,国家等)上的一些值的分布。以下是一些玩具数据和标准解决方案,用于制作具有facet_grid()功能的主要情节。

    library(ggplot2)  # key library
    library(reshape2) # to convert to long format 
     databas<-read.csv(data=
    "continent,apples,bananas
    North America,30,20
    South America,15,34.5
    Europe,15,19
    Africa,5,35")
    databaslong<-melt(databas) # default conversion, will make first col.as id 
    # plotting as colored bars
    ggplot(databaslong,aes(x=variable,y=value,fill=variable))+geom_col()+facet_grid(.~continent)

以下是可预测的产生:

simple bar plot with facets

但是现在我想更多地控制方面的位置。特别是,将世界地图上的每个放置在各大洲的各个位置上似乎很自然,这是tmap或类似包装的典型行为。例如,使用本机ggplot工具:

mapWorld <- borders("world", colour="gray50", fill="gray50")
ggplot() + mapWorld

并得到这样(在inkscape中手动组合这两个层):

world map with facets

是否有可能以可编程的方式实现ggplot和映射包的这种组合?

0 个答案:

没有答案