【问题标题】:Multiple layer in a map with ggvis package带有 ggvis 包的地图中的多个图层
【发布时间】:2015-03-26 15:13:18
【问题描述】:

我正在使用 ssplot 多层来绘制意大利地图中区域边界内省份的颜色。 这是我的代码:

library(raster)
library(latticeExtra)
setwd("c:\\temp")
gadm<-getData('GADM', country='Italy', level=2)
gadm2<-getData('GADM', country='Italy', level=1)

spplot(gadm, "ID_2",col=NA)+
layer(sp.polygons(gadm2, first=F))

现在我想用 ggvis 包创建一个交互式地图。 我开始创建带有区域边界的主地图:

library(ggvis)
library(ggplot2)
library(rgeos)

#convert in a data frame
map2 <- fortify(gadm2, region="NAME_1")
map<- fortify(gadm, region="NAME_2")


map2%>%
  ggvis(~long, ~lat) %>%
  group_by(group, id) %>%
  layer_paths(strokeOpacity:=0.5, stroke:="#7f7f7f") %>%
   hide_axis("x") %>% hide_axis("y") %>%
  set_options(width=400, height=600, keep_aspect=TRUE)

现在我不明白如何用省级颜色绘制另一层。

【问题讨论】:

    标签: r raster ggvis


    【解决方案1】:

    两个键:layer_paths 可以带一个填充参数来填充多边形的内部,您可以在图层本身中指定一个新数据集(类似于 ggplot2)。

    map2%>%
      ggvis(~long, ~lat) %>%
      group_by(group, id) %>%
      layer_paths(data = map %>% group_by(group, id), 
                  strokeWidth := 0, fill = ~id) %>%
      layer_paths() %>%
      hide_axis("x") %>% hide_axis("y") %>%
      set_options(width=400, height=600, keep_aspect=TRUE)
    

    (我删除了strokeOpacity:=0.5, stroke:="#7f7f7f",因为我认为它不清楚边界在哪里,但如果你愿意,可以将它们重新添加)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-03
      相关资源
      最近更新 更多