使用自定义栏时如何在标签中显示所有3个值?

时间:2014-12-10 04:09:11

标签: dygraphs

我使用customBars来渲染min,avg,max值,一切看起来都不错。在悬停时,只有avg值会显示在标签中。如何在标签中显示所有三个最小值,平均值和最大值。

我已经尝试过使用y valueFormatter,但它只获得了avg值而不是全部三个。

1 个答案:

答案 0 :(得分:1)

正如您所提到的,这通常是通过设置y轴valueFormatter来完成的,但它只传递了舍入值,而不是置信区间。这是API审核问题here

与此同时,您可以通过确定x轴valueFormatter(在y轴valueFormatter之前调用)并使用dygraph {{3}的行索引来解决这个问题。访问完整的值元组。

它看起来像这样:

axes: {
    x: {
        valueFormatter: function(millis, opts) {
            lastRow = null;
            lastCol = 0;
            for (var i = 0; i < g.numRows(); i++) {
                if (g.getValue(i, 0) == millis) {
                    lastRow = i;
                    break;
                }
            }
            // forward to the default formatter.
            return Dygraph.dateValueFormatter.apply(this, arguments);
        }
    },
    y: {
        valueFormatter: function(num, opts) {
            lastCol++;
            return JSON.stringify(g.getValue(lastRow, lastCol));
        }
    }
}

data API中的完整工作示例。

如果您正在使用滚动平均值,不幸的是,您将遇到this fiddle:滚动数据只能通过私有成员变量访问。