Bit en retard sur ce point, mais j'ai couru cette fonction après avoir tracé le graphique comme un moyen de mettre des étiquettes sous mes points de données dans un graphique linéaire.
$(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);
}
C'est du haut de ma tête, mais au fond, cette fonction passe par tous les points de données et utilise les fonctions de P2C dans les axes, il ajoute ceci (avec un peu de rembourrage) pour compenser du graphique lui-même. Ensuite, il utilise simplement la superposition d'info-bulle normale. De plus, si vous l'utilisez sur un diagramme à barres, vous pouvez définir une largeur de l'info-bulle, lui donner un alignement de centre et ensuite, si vous souhaitez que toutes les étiquettes soient alignées, placez simplement un nombre unique dans l'axe. fonction p2c. Ensuite, utilisez le rembourrage graphique pour le positionner où vous voulez.
Espérons que cela aidera quelqu'un dans le futur :)
Qu'en est-il de l'inverse? Si j'ai le décalage x, est-ce que Flot peut me fournir la valeur des données? –