我正试图在R中的一个Shiny应用程序中开发一个交互式Choropleth。我已经尝试过使用gVis和rCharts,但仍然没有任何运气。我现在需要为瑞典想象它,但我可能稍后需要它为其他国家。这是我到目前为止的gvisGeoMap:瑞典R中的交互式Choropleth
polygons <- readOGR("/ggshape", layer="SWE_adm1")
polygons <- fortify(polygons, region="ID_1")
data.poly <- as.data.frame(polygons)
data.poly <- data.poly[,c(1,2)]
data.poly.final <- data.frame(locationvar = paste(data.poly[,2],data.poly[,1], sep = ":"),
numvar=1,
hovervar="test")
data.poly.final$locationvar <- as.character(data.poly.final$locationvar)
data.poly.final$hovervar <- as.character(data.poly.final$hovervar)
map <- gvisGeoMap(data=data.poly.final, locationvar = "locationvar",
options=list(width='800px',heigth='500px',colors="['0x0000ff', '0xff0000']",
dataMode = "markers"))
plot(map)
根据相关文档,我应该能够使用lattitude和经度坐标,因为我想在这里,但我还没有成功呢。我使用的shapefile是从http://www.gadm.org/download
基本上,有没有人知道如何获得一个交互式可视化工作与gadf.org形状文件?
这是我如何与ggplot
SWE <- fortify(polygons, region="ID_1")
SWEplot <- merge(x=SWE, y=my_data, by="id")
p <- ggplot() +
geom_polygon(data = SWEplot , aes(x = long, y = lat, group = group, fill = Patients)) +
geom_path(color="black") +
theme(axis.ticks.y = element_blank(),axis.text.y = element_blank(), # get rid of x ticks/text
axis.ticks.x = element_blank(),axis.text.x = element_blank(), # get rid of y ticks/text
plot.title = element_text(lineheight=.8, face="bold", vjust=1),
panel.background = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
legend.text=element_text(size=14),
legend.title=element_text(size=16)) + # make title bold and add space
coord_equal(ratio=1)
将会产生
如所期望的,但没有交互做到这一点。我基本上希望实现的是这样的http://rcharts.io/viewer/?6735051#.V1px-7t97mE,但瑞典当然。
这正是我所期待的。我用了相当长的时间来弄清楚为什么Leaflet地图不能在我的Shiny应用中渲染。事实证明,Leaflet和rCharts/NVD3之间有一些冲突,我必须在解决之前解决它。但现在呢!谢谢。 – marcopah