gpt4 book ai didi

javascript - 在 Dygraph 的 Y 轴标签中添加逗号分隔符

转载 作者:行者123 更新时间:2023-11-30 20:02:25 27 4
gpt4 key购买 nike

我有下面的 Dygraph 使用 dygraphs 包

library(dygraphs)
library(htmlwidgets)
library(zoo)

valueFormatter = "function formatValue(v) {
var suffixes = ['', 'K', 'M', 'G', 'T'];
if (v < 1000) return v;
var magnitude = Math.ceil(String(Math.floor(v)).length / 4-1);
if (magnitude > suffixes.length - 1)
magnitude = suffixes.length - 1;
return String(Math.round(v / Math.pow(10, magnitude * 3), 2)) +suffixes[magnitude]
}"
Data = zoo(matrix(c(10000, 1000000, 100000000, 50000), nc = 1), as.Date(c('2015-01-05', '2016-01-05', '2017-01-05', '2018-01-05'))); colnames(Data) = 'x'
dygraph(Data, main = "") %>% dySeries(c("x")) %>%
dyAxis("y", axisLabelFormatter = JS(valueFormatter),
valueFormatter = JS(valueFormatter),
rangePad = 20)

但是在 Y 轴的标签中,我想为刻度值添加 千位分隔符,例如而不是 30000K 我想要 3,0000K。有什么办法可以做到这一点。

最佳答案

将您的数字 30000K 转换为千位分隔值 30,000K

正则表达式在每个第 3 位数字后放置逗号

var regex = /\B(?=(\d{3})+(?!\d))/g;
var number = "200";
var thousandSeprator = "20000";
console.log(number.replace(regex,',')); // 200
console.log(thousandSeprator.replace(regex,',')); // 20,000

更新了 valueFormatter 函数

valueFormatter = "function formatValue(v) {
var suffixes = ['', 'K', 'M', 'G', 'T'];
var regex = /\B(?=(\d{3})+(?!\d))/g;
if (v < 1000) return v.toString().replace(regex,',');
var magnitude = Math.ceil(String(Math.floor(v)).length / 4-1);
if (magnitude > suffixes.length - 1)
magnitude = suffixes.length - 1;
return v.toString().replace(regex,',') +suffixes[magnitude]
}"

关于javascript - 在 Dygraph 的 Y 轴标签中添加逗号分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53236255/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com