Etwas spät, aber ich habe diese Funktion ausgeführt, nachdem ich das Diagramm gezeichnet habe, um Beschriftungen unter meine geplotteten Datenpunkte in einem Liniendiagramm zu setzen.
$(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);
}
Dieses off ist die Spitze von meinem Kopf, aber im Grunde, diese Funktion durchläuft alle Datenpunkte und nutzt die p2c Funktionen in den Achsen, dies fügt dann (mit etwas Padding) des Graphen selbst zu kompensieren. Dann wird nur das normale Tooltip-Overlay verwendet.
Auch wenn Sie dies in einem Balkendiagramm verwenden, können Sie eine Breite der QuickInfo festlegen, geben Sie eine Textausrichtung der Mitte und dann wenn Sie alle Beschriftungen in einer Zeile möchten dann nur eine einzige Zahl in die Yaxis P2C-Funktion. Verwenden Sie dann das Grafikpadding, um es an der gewünschten Position zu positionieren.
Hoffe das hilft jemandem in der Zukunft :)
Was ist mit dem Rückwärts? Wenn ich den x-Offset habe, kann Flot mir den Datenwert liefern? –