Flot Chart - 在悬停时显示元数据

时间:2015-08-14 04:35:36

标签: javascript metadata flot

我的图表在Y轴上显示0-100%,在X轴上显示四分之一。源数据包括:

{ 
 date: '2015 Q1',
 numerator: 55,
 denominator: 105,
 percent:52 
}

绘图时,系列数据指定为[52, '2015 Q1']并正确显示在图表上。但是,当我将鼠标悬停在数据点上时,我想显示原始分子和分母以及百分比。

我有什么方法可以在系列数据中包含额外的元数据吗?

**注意这个例子我正在简化季度逻辑。它实际上是按照flot specs **

指定的毫秒数

1 个答案:

答案 0 :(得分:1)

首先,您的示例数据应为['2015 Q1', 52],x值先行。

第二,你可以使用数据点数超过两个数组的数组,例如['2015 Q1', 52, 55, 105],然后在工具提示中使用第三个和第四个值(flot将在绘制图表本身时忽略它们点图表。)

工具提示的示例代码:

function bindHover() {
    $(document).on('plothover', '#chart', function (event, pos, item) {
        if (item) {
            if (prevPoint != item.dataIndex) {
                prevPoint = item.dataIndex;
                $('#tooltip').remove();

                var tooltipString = item.series.name + ': ' + item.datapoint[0];
                tooltipString += '/' + item.datapoint[1];
                tooltipString += '<br/>' + item.series.data[item.dataIndex][2];
                tooltipString += '/' + item.series.data[item.dataIndex][3];
                showTooltip(item.pageX, item.pageY, tooltipString);
            }
        }
        else {
            $('#tooltip').remove();
            prevPoint = null;
        }
    });
}