问题所在
如果我可以传递一些在触发plotclick事件时想要访问的补充数据,那么在将数据传递到flot时会非常方便。
我的数据
以下是一些标准数据;
[{label: 'first', data: 5, color: '#123'},
{ label: 'first', data: 10, color: '#456'}]我希望能够做一些事情,比如;
[{label: 'first', data: 5, color: '#123', my_custom_attribute: 'some data'},
{ label: 'first', data: 10, color: '#456', my_custom_attribute: 'some more data'}]所以在我的plotclick事件中我可以这样做;
$('chart').bind('plotclick', function(event, pos, item) {
console.log(item.series.my_custom_attribute) //Or something to that effect
});我尝试过的东西
我试着在我的plotclick事件中插入上述代码并查看返回的item内容,但它似乎并没有存储my_custom_attribute。
我已经通读了https://github.com/flot/flot/blob/master/API.md上的文档,但没有发现任何相关信息。
我在谷歌和这里搜索了答案,但找不到适合我需要的答案。
更新
感谢Khawer提供了一个解决方案,这对我来说仍然不起作用;
这是我传递的数据;
[{breakdown: "test", color: "#00A4D3", data: 1.5, label: "History"},
{breakdown: "test", color: "#1464F6", data: 0, label: "Geography"}]但是item的输出中没有出现breakdown属性。
图表的其他所有内容似乎都可以正常工作。
发布于 2013-11-30 10:43:02
尝试此
如果您通过初始化图表时使用的原始data变量查找自定义数据。数据还会在那里。由于某些原因,数据不能直接通过item访问...它似乎被删除了。
var data = [
{ label: "Series1", data: [[1,1]], myData: "test 1"},
{ label: "Series2", data: [[1,1]], myData: "test 2"},
{ label: "Series3", data: [[1,1]], myData: "test 3"},
{ label: "Series4", data: [[1,1]], myData: "test 4"},
{ label: "Series5", data: [[1,1]], myData: "test 5"},
{ label: "Series6", data: [[1,5]], myData: "test 6"}
];
$.plot($("#placeholder"), data, {
series: {
pie: {
show: true
}
},
grid: {
hoverable: true,
clickable: true
}
});
$("#placeholder").bind("plotclick", function (event, pos, item) {
if (item) {
console.log(data[item.seriesIndex]);
}
});希望这能有所帮助!
发布于 2013-07-23 20:02:49
你说对了。您可以根据自己的喜好使用自定义数据参数
data = [{ data:data1, label:"fixed", lines:{show:true}, my_custom_attribute: 'somedata'}];然后,您可以按如下方式获取自定义数据
$("#placeholder").bind("plotclick", function (event, pos, item) {
if (item) {
alert(item.series.my_custom_attribute);
}
});FIDDLE
发布于 2017-04-13 15:11:48
console.log(dataitem.seriesIndex);
对我来说很管用。
较新版本的(0.8)像这样的自定义变量可以直接在系列级别中使用
console.log(item.series.my_custom_attribute);
但是对于较低版本的seriesIndex方式应该是有效的。
感谢@送奶人
https://stackoverflow.com/questions/17809126
复制相似问题