如何在没有边界线的情况下为地图(例如德国)中的区域着色?
How can I color the areas in a map (e.g. Germany) without lines for the borders in plotly?
我想使用不带边界线的 plotly 为地图中的德国区域着色。在我的示例中,当指定 mode="none" 时,区域的形状会发生变化(添加了一些三角形),我不明白为什么。
我想使用 plotly 而不是 plot 来绘制地图,因为我想创建一个交互式地图。
如果有人能帮助我就太好了!
install.packages("rgeos")
install.packages("raster")
install.packages("sf")
install.packages("plotly")
install.packages("shiny")
library(rgeos)
library(raster)
library(sf) #converting map in a format for plotly
library(plotly)
library(shiny)
Germany <- getData('GADM', country='DE', level=1)
germany_sf<- st_as_sf(Germany)
germany_sf$fill <- c(rep(c("blue", "green", "purple", "orange"),4))
plot_ly(germany_sf, type="scatter", mode="none", split= ~ VARNAME_1, fillcolor= ~fill, opacity= 0.4, showlegend=FALSE)
plot_ly(germany_sf) #correct shape but with lines for borders and not specific fillcolors.
```
要避免彩色边框,您可以使用以下解决方案:
plot_ly(germany_sf, type="scatter", split= ~VARNAME_1,
fillcolor= ~fill, color=NA, opacity=0.4, showlegend=FALSE)
我想使用不带边界线的 plotly 为地图中的德国区域着色。在我的示例中,当指定 mode="none" 时,区域的形状会发生变化(添加了一些三角形),我不明白为什么。 我想使用 plotly 而不是 plot 来绘制地图,因为我想创建一个交互式地图。 如果有人能帮助我就太好了!
install.packages("rgeos")
install.packages("raster")
install.packages("sf")
install.packages("plotly")
install.packages("shiny")
library(rgeos)
library(raster)
library(sf) #converting map in a format for plotly
library(plotly)
library(shiny)
Germany <- getData('GADM', country='DE', level=1)
germany_sf<- st_as_sf(Germany)
germany_sf$fill <- c(rep(c("blue", "green", "purple", "orange"),4))
plot_ly(germany_sf, type="scatter", mode="none", split= ~ VARNAME_1, fillcolor= ~fill, opacity= 0.4, showlegend=FALSE)
plot_ly(germany_sf) #correct shape but with lines for borders and not specific fillcolors.
```
要避免彩色边框,您可以使用以下解决方案:
plot_ly(germany_sf, type="scatter", split= ~VARNAME_1,
fillcolor= ~fill, color=NA, opacity=0.4, showlegend=FALSE)