我有一个JQuery Flot折线图。我之前没有使用过JQuery Flot Charts,也没有使用过JQuery Flot Charts的经验。我环顾四周,在其他地方找不到答案。
JQuery Flot折线图的数据数组如下:
var twitter = [[1, 27], [2, 34], [3, 51]]
当用户将鼠标悬停在折线图中的每个数据点上时,会向用户显示工具提示。工具提示当前显示以下内容:
工具提示示例,数据点一> Twitter:| X:1 | Y:27.00
我可以看到这是在Var选项中控制的:
var options = {
grid : {
hoverable : true
},
colors : ["#568A89", "#3276B1"],
tooltip : true,
tooltipOpts : {
**//content : "Value <b>$x</b> Value <span>$y</span>",**
现在,我的每个数据阵列都显示不同的数据点。例如:
数据阵列一:显示用户配置文件视图的数量 数据阵列二:显示用户点数 数据阵列三:显示朋友数量
现在,当用户悬停每个数据点时,用户需要能够看到每个数据点的相关内容。
例如:
当用户悬停在&gt;数据阵列一:[1,27]
工具提示需要显示&gt; 27个人资料视图
当用户悬停在&gt;数据阵列二:[2,34]
工具提示需要显示&gt; 34个用户点
如何自定义工具提示显示的内容?
我如何为每个单独的数据阵列提供不同的工具提示内容?
感谢您对此问题的帮助和支持。
答案 0 :(得分:1)
目前尚不清楚如何获取每个工具提示的显示,但在此示例中它是静态的。这样的事情应该有效。在这里小提琴 - Example
var tickVals = [[1,"Profile Views"],[2,"User Points"],[3,"Number of Friends"]]
var dataLines = [
{
label: "Twitter",
data: [[1, 27], [2, 34], [3, 51]],
}
];
$.plot($("#placeholder"), dataLines, {
grid: {
hoverable: true,
mouseActiveRadius: 10
},
lines: {show: true},
points: {
show: true,
radius: 4
},
});
function showTooltip(x, y, contents) {
$('<div id="tooltip">' + contents + '</div>').css({
position: 'absolute',
display: 'none',
top: y - 40,
left: x - 10,
border: '1px solid #fdd',
padding: '2px',
'background-color': '#eee',
opacity: 0.80
}).appendTo("body").fadeIn(200);
}
var previousPoint = null;
$("#placeholder").on("plothover", function(event, pos, item) {
$("#x").text(pos.x.toFixed(2));
$("#y").text(pos.y.toFixed(2));
if (item) {
if (previousPoint != item.dataIndex) {
previousPoint = item.dataIndex;
$("#tooltip").remove();
var x = item.datapoint[0]-1,
y = item.datapoint[1];
showTooltip(item.pageX, item.pageY,
tickVals[x][1] + "- " + y);
}
}
else {
$("#tooltip").remove();
previousPoint = null;
}
});