これは少し遅れましたが、折れ線グラフでプロットされたデータポイントの下にラベルを付ける方法としてグラフをプロットした後、この関数を実行しました。
$(document).ready(function(){
$(function(){
var data = [
{data: [[1, 5], [2, 10], [3, 15], [4, 15], [5, 10], [6, 5]], color: '#3a8df6'},
{data: [[1, 52], [2, 42], [3, 32], [4, 32], [5, 42], [6, 52]], color: '#ff0000'}
];
var options = {
lines: {show: true},
yaxis: {tickDecimals: 0, min: 0, max: 100, autoscaleMargin: null}
};
var graph = $.plot($('#graph'), data, options);
var points = graph.getData();
var graphx = $('#graph').offset().left;
graphx = graphx + 30; // replace with offset of canvas on graph
var graphy = $('#graph').offset().top;
graphy = graphy + 10; // how low you want the label to hang underneath the point
for(var k = 0; k < points.length; k++){
for(var m = 0; m < points[k].data.length; m++){
showTooltip(graphx + points[k].xaxis.p2c(points[k].data[m][0]), graphy + points[k].yaxis.p2c(points[k].data[m][1]),points[k].data[m][1])
}
}
});
});
function showTooltip(x,y,contents){
$('<div id="tooltip">' + contents + '</div>').css( {
position: 'absolute',
display: 'none',
top: y,
left: x
}).appendTo("body").fadeIn(200);
}
これは私の頭の中ではありませんが、基本的に、この関数はすべてのデータポイントを通過し、軸で p2c 関数を使用してから、グラフ自体のオフセットにこれを (いくつかのパディングで) 追加します。次に、通常のツールチップ オーバーレイを使用します。
また、これを棒グラフで使用する場合は、ツールチップの幅を設定し、テキストを中央に揃えてから、すべてのラベルを一列に並べたい場合は、yaxis p2c 関数に単一の数値を入力します。次に、グラフィックパディングを使用して、必要な場所に配置します。
これが将来誰かに役立つことを願っています:)