Flot - 在堆叠条形图上显示标签

时间:2012-09-14 19:20:48

标签: label flot stacked

我正在使用this stackoverflow question中的代码段来标记我的flot数据点。到目前为止,这对我有好处,但现在我必须标记堆叠条的整体值。有两个数据系列,到目前为止我已经设法计算总和,但我似乎无法确定我的标签的正确位置。我想将它们放在堆栈顶部,但是pointOffset只给出了基于非堆叠条形的偏移量。

这是我目前正在使用的代码,它将标签放置在第二个系列的数据点所在的位置,如果条形图没有堆叠,则将它们放在顶部条形图中。

$.each(p.getData()[1].data, function(i, el){

    var series0 = p.getData()[0].data;
    sum = el[1] + series0[i][2]

    var o = p.pointOffset({x: el[0], y: el[1]});

    $('<div class="data-point-label">' + sum + '</div>').css( {
        position: 'absolute',
        left: o.left - 5,
        top: o.top ,
        display: 'none'
    }).appendTo(p.getPlaceholder()).fadeIn('slow');
});

编辑#1:到目前为止,我尝试使用c2p / p2c,使用单个数据点的最高值计算最高值,并在堆栈插件上查找更多文档。我担心这些对我没什么帮助。

编辑#2:我也尝试了this stackoverflow answer中给出的代码,但它对我不起作用。我怀疑作者正在使用一些标签插件......

1 个答案:

答案 0 :(得分:0)

将标签放在堆栈usinjg画布中条形顶部的解决方案是,您必须以完整堆栈中值的总和为基础计算xPoint。

以下是代码

的示例
m_picControl

var yPos使用构成完整堆栈的值的sume。