带有 ggvis 包的地图中的多层
Multiple layer in a map with ggvis package
我正在使用 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)
现在我不明白如何用省色绘制另一个图层。
两个键: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"
,因为我认为它使边界的位置变得不清楚,但如果需要,您可以重新添加它们)
我正在使用 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)
现在我不明白如何用省色绘制另一个图层。
两个键: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"
,因为我认为它使边界的位置变得不清楚,但如果需要,您可以重新添加它们)