如何使用 tmap 在 choropleth 地图中舍入整数中断
Posted
技术标签:
【中文标题】如何使用 tmap 在 choropleth 地图中舍入整数中断【英文标题】:how can I round integer breaks in choropleth map with tmap 【发布时间】:2021-12-30 19:19:04 【问题描述】:我用 tm_polygons 制作了一个等值线图(不是可复制的示例)
label <- labels_rec %>%
filter(VAR == sgf_var & TABLEAU == tab)
map <- tm_shape(sgf_polyg) +
tm_polygons(col = "V137", style = "equal", title="sgf_var",
, textNA = "Valeur manquante",
legend.hist = TRUE,
legend.format=list(fun=function(x) formatC(x, digits=0, format="f"),
text.separator= "-")) +
tm_borders("#9E9E9E") +
tm_layout(main.title = label$LIBELLE, main.title.size = 0.5,legend.outside = TRUE,
legend.title.size = 0.7, legend.hist.width = 1)
我想四舍五入我的整数位 示例: 20000 到 23000 23000到26000 26000到29000等
formatC(x, digits=0, format="f")
只能与十进制数字一起使用。
【问题讨论】:
【参考方案1】:利用?tmap::tm_polygons
的默认示例,您可以通过格式化函数formatC(formatC(floor(x / 1000) * 1000, digits = 0, format = "f")
获得所需的结果:
library(tmap)
data(World)
# Constant fill
tm_shape(World) +
tm_fill(
col = "gdp_cap_est", style = "equal", title = "sgf_var",
textNA = "Valeur manquante",
legend.hist = TRUE,
legend.format = list(fun = function(x) formatC(formatC(floor(x / 1000) * 1000, digits = 0, format = "f")), text.separator = "-")
) +
tm_borders("#9E9E9E")
【讨论】:
以上是关于如何使用 tmap 在 choropleth 地图中舍入整数中断的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Plotly choropleth 地图上创建符号/按钮