你是flot
对的,在计算它的自动缩放时没有考虑系列的可见性。在 0.8.1 版本中,罪魁祸首在第 1177 行附近,当时它设置了datamax
/datamin
属性。如果它永远不会被绘制,它可以跳过这个系列:
if (s.lines.show == false &&
s.points.show == false &&
s.bars.show == false) continue;
但是,我担心这会破坏引入其他绘图类型的插件。
所以相反,我只是屏蔽数据以使自动缩放工作:
togglePlot = function(seriesIdx)
{
var someData = somePlot.getData();
someData[seriesIdx].lines.show = !someData[seriesIdx].lines.show;
if (!someData[seriesIdx].lines.show){
someData[seriesIdx].tempData = someData[seriesIdx].data;
someData[seriesIdx].data = []; // store old data and blank out real data
}
else
{
someData[seriesIdx].data = someData[seriesIdx].tempData; // restore real data
}
somePlot.setData(someData);
somePlot.setupGrid();
somePlot.draw();
}
在这里更新了小提琴。