R:plotly:如何自定义地图打印上的范围?
我试图使用plotly软件包在印度泰米尔纳德邦地区的数据上创建可视化效果 我能够从以下数据创建一个示例: 代码如下R:plotly:如何自定义地图打印上的范围?,r,dictionary,plotly,R,Dictionary,Plotly,我试图使用plotly软件包在印度泰米尔纳德邦地区的数据上创建可视化效果 我能够从以下数据创建一个示例: 代码如下 library(plotly) df <- tamil_nadu__.india_._lat.long.alt df$hover <- paste(df$name, "Altitude", df$Altitude_in_ft, "Altitude in Feet") df$q <- with(df, cut(Altitude_in_ft, quantile(A
library(plotly)
df <- tamil_nadu__.india_._lat.long.alt
df$hover <- paste(df$name, "Altitude", df$Altitude_in_ft, "Altitude in Feet")
df$q <- with(df, cut(Altitude_in_ft, quantile(Altitude_in_ft)))
levels(df$q) <- paste(c("1st", "2nd", "3rd", "4th", "5th"), "Quantile")
df$q <- as.ordered(df$q)
g <- list(
scope = "asia",
showland = TRUE,
landcolor = toRGB("gray85"),
subunitwidth = 1,
countrywidth = 1,
subunitcolor = toRGB("white"),
countrycolor = toRGB("white")
)
plot_ly(df, lon = Lon, lat = Lat, text = hover,color = q, type = 'scattergeo') %>%
layout(geo = g)
`
library(plotly)
df为了跟进我的评论,这里有一个备选方案(我不知道plotly是否可行),可以满足您的需求。我从你的链接下载了shapefile,设置了投影和绘图。我无法访问您的数据集,但您只需将addCircles()或addMarkerCircles()添加到下面的表达式中即可
library(maptools)
library(leaflet)
library(htmltools)
library(htmlwidgets)
IND_adm1 <- readShapeSpatial("pathtoyour/IND_adm1.shp")
proj4string(IND_adm1) <- CRS("+proj=longlat +ellps=WGS84 +datum=WGS84")
str(IND_adm1@data)
factpal <- colorFactor(topo.colors(36), IND_adm1$NAME_1)
leaflet() %>% addProviderTiles("Esri.WorldImagery") %>%
addPolygons(data=IND_adm1, color= ~factpal(NAME_1))
库(maptools)
图书馆(单张)
图书馆(htmltools)
库(htmlwidgets)
IND_adm1您是否考虑过合并传单?例如,此代码将为您提供该地区的地图:
install.packages("leaflet")
library(leaflet)
leaflet() %>% addTiles() %>%
setView(lng = 78, lat = 10.5, zoom = 6)
然后,您可以使用addPolygons()
或addPolylines()
将来自gadm.org.的数据与参数data
合并,例如:
leaflet() %>% addTiles() %>%
setView(lng = 78, lat = 10.5, zoom = 6) %>%
addPolylines(data = YOUR_DATA, color = "blue", weight = 3)
您应该提供用于生成该地图的代码。plotly的一个很好的替代方法是使用shapleThank@MLavoie。有没有一种方法可以让这样一个情节变得互动,或者在它上面情节。例如,在这样的地图上绘制人口并使其具有交互性。是的,就像我说的,我的答案是,在我向您展示的代码末尾,您可以使用addCircles()(添加点)。您没有在示例中提供数据集,因此我无法添加这些点。