编辑 MapDeck 图例以显示英里而不是米
Editing MapDeck Legend to Show Miles Instead of Meters
我正在使用 MapDeck 来使用 mb_isochrone
函数绘制距伊利诺伊州阿灵顿高地特定位置的距离。
到目前为止,这是我的代码:
arlington.race <- c("-88.010102466048", "42.093383772976495")
isochrones <- mb_isochrone(arlington.race,
distance = c(8046,
16093,
24140,
32186))
mapdeck(style = mapdeck_style("streets"),
location = c("-88.010102466048", "42.093383772976495"),
zoom = 8.5) %>%
add_polygon(data = isochrones,
fill_colour = "distance",
fill_opacity = 0.5,
legend = TRUE,
update_view = FALSE,
legend_format = c(5, 10, 15, 20))
meters2miles <- c(5,10,15,20)
正如您在底部看到的,我正在尝试使用 legend_format
函数编辑图例以显示以英里为单位的距离(5 英里、10 英里、15 英里、20 英里)。同样,我尝试通过多种方式进行操作,包括:
legend_format = list(meters2miles)
但是,无论我如何 method/attempt,我都无法让图例从显示米切换到英里。
legend_format
参数需要一个函数应用于图例值
这是一个可重现的使用示例
library(mapdeck)
set_token(secret::get_secret("MAPBOX")) ## add your own API key
df <- mapdeck::capitals
## colour the data by the 'value' column
df$value <- sample(1:10, size = nrow(df), replace = T)
## in the legend we want to show the values multiplied by 1000
legend_converter <- function(x) {
return( as.numeric( x ) * 1000 )
}
mapdeck() %>%
add_scatterplot(
data = df
, fill_colour = "value"
, legend = TRUE
, legend_format = list( fill_colour = legend_converter )
)
参考
Here's the article我写了如何操作图例
我正在使用 MapDeck 来使用 mb_isochrone
函数绘制距伊利诺伊州阿灵顿高地特定位置的距离。
到目前为止,这是我的代码:
arlington.race <- c("-88.010102466048", "42.093383772976495")
isochrones <- mb_isochrone(arlington.race,
distance = c(8046,
16093,
24140,
32186))
mapdeck(style = mapdeck_style("streets"),
location = c("-88.010102466048", "42.093383772976495"),
zoom = 8.5) %>%
add_polygon(data = isochrones,
fill_colour = "distance",
fill_opacity = 0.5,
legend = TRUE,
update_view = FALSE,
legend_format = c(5, 10, 15, 20))
meters2miles <- c(5,10,15,20)
正如您在底部看到的,我正在尝试使用 legend_format
函数编辑图例以显示以英里为单位的距离(5 英里、10 英里、15 英里、20 英里)。同样,我尝试通过多种方式进行操作,包括:
legend_format = list(meters2miles)
但是,无论我如何 method/attempt,我都无法让图例从显示米切换到英里。
legend_format
参数需要一个函数应用于图例值
这是一个可重现的使用示例
library(mapdeck)
set_token(secret::get_secret("MAPBOX")) ## add your own API key
df <- mapdeck::capitals
## colour the data by the 'value' column
df$value <- sample(1:10, size = nrow(df), replace = T)
## in the legend we want to show the values multiplied by 1000
legend_converter <- function(x) {
return( as.numeric( x ) * 1000 )
}
mapdeck() %>%
add_scatterplot(
data = df
, fill_colour = "value"
, legend = TRUE
, legend_format = list( fill_colour = legend_converter )
)
参考
Here's the article我写了如何操作图例