sco*_*tus 4 formatting dictionary r legend leaflet
我正在使用 Leaflet 库在 R 中创建交互式 HTML 地图。
图例采用colorBin创建 6 个类别的方法来将数据分为几类。
使用min(values)和max(values),我定义了美国社区调查收入数据的特定范围可能落入的可能值的范围。然而,正如您从附图中看到的那样,断点并不令人愉快。
看起来像这样
$8,8820.0- 17,708.5
$17,708.5- 26,535.0
Run Code Online (Sandbox Code Playgroud)
而不是像这样的理智版本:
$8,8820 - 17,708
$17,809 - 26,536
Run Code Online (Sandbox Code Playgroud)
或者
$8,8820.00 - 17,708.00
$17,809.00 - 26,536.00
Run Code Online (Sandbox Code Playgroud)
如果每个数字都必须有 .00,只是美元金额不能有一位小数,我会接受!
我找不到一种方法来格式化增量以消除愚蠢的单个小数......
这是调色板的代码:
pal3<-colorBin(palette="YlOrBr", domain=c(min(plotMerge$incomePerCapita), max(plotMerge$incomePerCapita)), bins = 6, na.color = NULL, pretty=FALSE, alpha = TRUE)
Run Code Online (Sandbox Code Playgroud)
这是图例的函数:
addLegend(pal = pal3,
values = plotMerge$incomePerCapita,
position = "bottomright",
title = "Income per Capita<br> in 2014 US Dollars ",
labFormat = labelFormat(prefix="$"))
Run Code Online (Sandbox Code Playgroud)
以防万一这是问题的一部分,这里是根据收入为多边形分配颜色的属性,该属性将调色板应用于地图本身。
fillColor = ~pal3(plotMerge$incomePerCapita),
Run Code Online (Sandbox Code Playgroud)
据我所知,这些地图和相关数据都是正确的,所以我并不特别担心地图本身的绘制。但我希望图例看起来很正常,并且没有一位小数点重叠。
我已经搜索了 R 板,阅读了这里和其他地方有关传单的所有内容。我看不到我需要做什么。任何帮助将不胜感激。

您可以使用:labelFormat(prefix="$",digits=0))。以下是 leaftet 的 GitHub 代码链接:github.com/rstudio/leaflet/blob/master/R/legend.R。
这是包含所有可能选项的函数原型:
labelFormat = function(
prefix = '', suffix = '', between = ' – ', digits = 3, big.mark = ',',
transform = identity)
Run Code Online (Sandbox Code Playgroud)
由此您应该能够根据自己的喜好调整格式。