这是我的绘图数据
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();
});
如果有办法实现的话,阈值不起作用。
最佳答案
您没有正确更新数据。您最初为 float 提供了一个带有阈值设置的系列对象,但当您 setData
时,您为它提供了一个没有这些设置的数组。
这样做可以保留您的系列选项:
someData = somePlot.getData();
someData[0].data = [[4, 130], [8, 50], [9, 130]];
somePlot.setData(someData);
somePlot.draw();
这是一个example .
编辑
如果您不喜欢 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
调用中保持阈值系列选项不变。
关于动态数据值的 JavaScript float 阈值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26052583/