基于@DNS 的想法,我整理了一个简单的例子。在示例中,您将看到我将“标签”信息直接包含到我的数据数组中。如果存在此信息,则代码会在带有标签的点旁边添加一个 div(它是一个超链接)。我还没有对你的愿望清单上的所有内容进行编码,但希望这会让你继续前进。
在这里拉小提琴。
$(function () {
function divByPointHook(plot, canvascontext, series){
$.each(series.data, function(){
if (this.length == 3){
var divStr = '<div style="border:1px solid black; position:absolute; ';
var pos = plot.p2c({'x':this[0],'y':this[1]});
divStr += 'left:' + pos.left + 'px;';
divStr += 'top:' + pos.top + 'px; ">'
divStr += '<a href="#">'+this[2]+'</a>' + '</div>';
$('#placeholder').append(divStr);
}
});
};
var d1 = [[0,1,"one"],[3,8,"two"],[5,4,],[2,10],[1.2,9],[9,2],[46,41],
[22,14],[20,12,"three"],[20,25],[7,5],[18,11],[31,20],[50,40,"four"],[24,36],
[20,42],[33,41],[51,39],[11,28,"five"],[32,16],[38,40],[35,22],[41,30],
[21,18]];
$.plot($("#placeholder"), [{
data: d1,
points: {
radius: 3,
show: true,
fill: true
}}],
{ hooks: { drawSeries: [divByPointHook] } }
);
});