Bit trễ này nhưng tôi chạy chức năng này sau khi vẽ biểu đồ như một cách để đặt nhãn bên dưới các điểm dữ liệu được vẽ trong biểu đồ đường.
$(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);
}
Đây là ra khỏi đỉnh đầu của tôi nhưng về cơ bản, chức năng này đi qua tất cả các datapoints và sử dụng các chức năng p2c ở các trục, sau đó nó sẽ thêm này (với một số đệm) để bù đắp của đồ thị chính nó. Sau đó, nó chỉ sử dụng lớp phủ tooltip bình thường. Ngoài ra nếu sử dụng điều này trên biểu đồ thanh, bạn có thể đặt chiều rộng của chú giải công cụ, cho nó căn chỉnh văn bản của trung tâm và sau đó nếu bạn muốn tất cả các nhãn nằm trong một dòng thì chỉ cần đặt một số trong yaxis chức năng p2c. Sau đó, sử dụng đệm đồ thị để định vị nó ở vị trí bạn muốn.
Hy vọng điều này sẽ giúp ai đó trong tương lai :)
Điều gì ngược lại? Nếu tôi có x bù đắp, có thể Flot cung cấp cho tôi giá trị dữ liệu? –