dygraphs - 隐藏 Legend 系列

dygraphs - Hide series from Legend

我正在尝试使用 Dygraphs 构建一个包含 3 个系列的动态图表,问题是我无法让图表在图例中只显示其中一个。 我有 3 个系列,名为 "Prec"、"Val" 和 "Now",每次用户将光标移到图表上时,我的目标是在图例中仅显示来自 "Val" 系列的值。

我的系列数据以 "native" 格式给出,换句话说,它是第一个元素为日期的值数组:

va data = {
           [ X, Open, Val, Now],
           [ 2015-11-26, 1002, 1024, 1026],
           [ 2015-11-27, 1002, 1025, 1026],
           [ 2015-11-28, 1002, 1027, 1025],
            ...
          };

我检查了文档 (http://dygraphs.com/options.html),但没有任何运气。 如有任何建议,我们将不胜感激。

更新: 我尝试像这样向选项对象添加自定义 valueFormatter:

axes:{
    y:{
        valueFormatter: function (y, opts, seriesName){
            if (seriesName == "Open" || seriesName == "Now") return "";
            else return y;
        }
    }
}

但它只是隐藏值,而不是系列的名称,所以现在我的图表图例显示:

2015-11-26 Open: Val:1024 Now:

解决方法是在Dygraphs选项对象中添加一个属性来激活高亮功能,如果要使用默认设置即使为空:

highlightSeriesOpts: {}

当您悬停它时,它会将 'highlight' class 添加到系列的图例跨度中。

然后您必须将这些行添加到您的 CSS

.dygraph-legend > span { display: none; }
.dygraph-legend > span.highlight { display: inline; }

这样只有突出显示的系列才会在图例中可见。

来源:Dygraphs docs