首页 > 解决方案 > R Dygraphs 隐藏传说中的系列

问题描述

我正在 R 中创建一个 dygraph,并试图从图例中完全隐藏一个或多个系列。我尝试编写一个自定义 js 函数(见下文)以与 legendFormatter 一起使用,但没有一个 R dygraph 选项函数将 legendFormatter 作为参数。似乎这在 R 之外是可能的,但我找不到在 R 中解决这个问题的人。

可重现的示例 - 假设我想完全隐藏传说中的“mdeaths”系列。突出显示的系列无关紧要。我只是不希望它出现在传说中:

dygraph(lungDeaths, main = "Deaths from Lung Disease (UK)") %>%
    dySeries("mdeaths", drawPoints = TRUE, color = "red") %>%
    dySeries("fdeaths", stepPlot = TRUE, color = "green") %>%
    dySeries("ldeaths", stepPlot = TRUE, color = "orange") 

这里的解决方案不适用于 R,我找不到在 R 中实现它的方法。其他类似问题的答案建议使用自定义 legendFormatter

一个完整的解决方案将包括以下方面的完整代码:1)从图例中隐藏任何一个或多个系列,不管任何突出显示,以及 2)将其合并到 R dygraphs 中。

自定义 js 函数改编自这里

hideFromLegend <- 'function(data) {
                        data.series = [data.series[0]];  // pick whichever series you want to keep
                        return Dygraph.Plugins.Legend.defaultFormatter.call(this, data);
                       }'

并尝试像这样使用它:

 dyLegend(legendFormatter = JS(hideFromLegend) ,labelsSeparateLines = FALSE)

但收到错误“dyLegend (., legendFormatter = JS(hideFromLegend), labelsSeparateLines = FALSE) 中的错误:未使用的参数 (legendFormatter = JS(hideFromLegend))”。

我找不到任何其他可以接受此参数的“dyX”函数。我已经研究了两天,无法在 R 中找到解决方案。提前感谢您的建议!我对 SO 提出问题也是新手,我很感激有关如何改进我的问题的任何提示。

标签: rdygraphsr-dygraphs

解决方案


推荐阅读