gpt4 book ai didi

r - 如何在 R 中格式化 dygraphs 标签 - 逗号分隔千位?

转载 作者:行者123 更新时间:2023-12-04 11:05:00 25 4
gpt4 key购买 nike

我正在使用 htmlwidget dygraphs for R .我的系列范围从大约 0 到 150,000。

我试过使用 dyOptions(labelsKMB = "K") -- 这将 y 轴格式化为 0K, 20K, 40K, ... - 然而,因此,图例也被格式化为四舍五入的值 - 例如22K, 42K, etc. .

我想知道以下是否可行以及如何完成它们:

  • 以千为单位格式化 y 轴,但将图例保留为实际
    (非四舍五入)值?
  • 在 y 轴和图例中的一个(或两个)上使用逗号分隔的格式表示千位?即,而不是显示 10000在 y 轴上,它的格式为 10,000 -- 同样,图例中的实际值,例如 2523格式为 2,523 .

  • 我正在将其推送到交互式 RMarkdown 文档中。也许自定义 CSS 是一种方法?

    最佳答案

    您可以指定特定的 javascript 函数来独立设置 x 轴的标签。例如,以下是如何修改 dygraph 演示的 y 轴:

    library(dygraphs)
    library(htmlwidgets)

    nhtempBig<-nhtemp*500
    nhtempBig

    valueFormatter<-"function formatValue(v) {
    var suffixes = ['', 'K', 'M', 'G', 'T'];
    if (v < 1000) return v;
    var magnitude = Math.ceil(String(Math.floor(v)).length / 3-1);
    if (magnitude > suffixes.length - 1)
    magnitude = suffixes.length - 1;
    return String(Math.round(v / Math.pow(10, magnitude * 3), 2)) +suffixes[magnitude]}"




    dygraph(nhtempBig, main = "New Haven Temperatures") %>%
    dyAxis("y", label = "Temp (F)", valueRange = c(0, 150000),axisLabelFormatter=JS(valueFormatter)) %>%
    dyOptions(axisLineWidth = 1.5, fillGraph = TRUE, drawGrid = FALSE)

    我刚刚编写了一个虚拟函数来更改轴标签,图例应该保持不变。

    编辑:添加了格式化功能,修改自 dygraph 之一 example

    关于r - 如何在 R 中格式化 dygraphs 标签 - 逗号分隔千位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28486510/

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