4

このスタックオーバーフローの質問のコード スニペットを使用して、flot データ ポイントにラベルを付けています。これまでのところ、これでうまくいきましたが、積み上げ棒グラフの全体的な値にラベルを付ける必要があります。2 つのデータ系列があり、これまでのところ合計を計算することができましたが、ラベルの適切な位置を特定できないようです。それらをスタックの上に配置したいのですが、pointOffset は、スタックされていないバーに基づくオフセットしか提供しません。

これは私が現在使用しているコードです。バーが積み上げられていない場合、2番目のシリーズのデータ​​ポイントがある場所にラベルを配置し、上部のバーのどこかに配置します。

$.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:このスタックオーバーフローの回答にあるコードも試しましたが、うまくいきません。作者が何らかのラベルプラグインを使用していると思われます...

4

1 に答える 1