这是我的情节数据
var data = [{
data: [[4, 80], [8, 50], [9, 130]],
color: "rgb(30, 180, 20)",
threshold: {
below: 100,
color: "rgb(200, 20, 30)"
}
}]
var bar = $.plot("#placeholder", data);
如果我更改按钮中的数据值,请单击
data= [[4, 130], [8, 50], [9, 130]];
bar.setData([data]);
bar.draw();
});
如果有办法实现这一点,那么阈值就不起作用了。
答案 0 :(得分:1)
您没有正确更新数据。你最初给flot一个带有阈值设置的系列对象,当你setData
时,你给它一个没有这些设置的数组。
执行此操作以保留系列选项:
someData = somePlot.getData();
someData[0].data = [[4, 130], [8, 50], [9, 130]];
somePlot.setData(someData);
somePlot.draw();
这是一个example。
<强> EDITS 强>
如果您不喜欢getData
调用,请将您的主数据变量保留在范围内并更新为@Raidri暗示:
var masterData = [{
data: [[4, 80], [8, 50], [9, 130]],
color: "rgb(30, 180, 20)",
threshold: {
below: 100,
color: "rgb(200, 20, 30)"
}
}]
// later ...
masterData[0].data = [[4, 130], [8, 50], [9, 130]];
somePlot.setData(masterData);
somePlot.draw();
重要的一点是在setData
来电中保留您的阈值系列选项。
答案 1 :(得分:0)
您是否尝试在bar.setupGrid()
之前调用bar.draw()
?
如果这没有用,你可以制作一个全新的情节:
data[0].data = [[4, 130], [8, 50], [9, 130]];
bar = $.plot("#placeholder", data)