關於flot
最好的事情之一是它提供了基本知識,然後讓你走出困境。 Here's a quick code example where I've implemented this myself (ie no plugins).它短而甜,你可以完全控制外觀。
$(function() {
dsHook = function(plot, canvascontext, series){
for (var i = 0; i < series.data.length; i++){ // loop the series
var offset = plot.offset(); // offset of canvas to body
var dP = series.data[i]; // our data point
var pos = plot.p2c({x: dP[0], y: dP[1]}); // position of point
var barWidth = plot.p2c({x: dP[0]+series.bars.barWidth, y: dP[1]}).left - pos.left; // calc width of bar
pos.left += offset.left; pos.top += offset.top; //adjust position for offset
var aDiv = $('<div></div>').css({'width':barWidth, 'background-color':'green','color':'white','text-align':'center','position':'absolute','left': pos.left,'top':pos.top}).text(dP[1]).appendTo("body"); // add an absolute div with the number
}
}
var d2 = [[0, 3], [4, 8], [8, 5], [9, 13]];
somePlot = $.plot("#placeholder", [{
data: d2,
bars: { show: true }
}],
{ hooks: { drawSeries: [dsHook] } }
);
});
大,非常感謝!不幸的是,我也需要它用於具有負值的水平圖表。我編輯了你的小提琴,並感謝你看看並再次幫助我:http://jsfiddle.net/x4bgU/5/ –
@ Mr.Bombastic,查看更新的小提琴:http://jsfiddle.net/x4bgU/6/ – Mark
你做了我的一天。非常感謝! :-) –