R: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

我试图使用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(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()(添加点)。您没有在示例中提供数据集,因此我无法添加这些点。