我目前正在使用Flop在我的网站上显示图表。它是一个包含一系列数据的图表,x 轴设置为时间模式。现在我有一些按钮可以更改视野范围("显示全部"、"显示过去六个月"、"显示去年"等),但我不知道如何在不覆盖当前情节的情况下更改特定属性。目前我这样做:
$("#six-months-scope").click(function () {
$.plot("#fd-weight-graph", data, {
xaxis: {
mode: "time",
min: <?php echo $newestEntry . " - 15552000000" ?>,
max: <?php echo $newestEntry ?>
}
});
});
但是如果我这样做,我还必须设置每个选项(例如设置颜色、线条、点等),我认为这是一个低效的解决方案。我只想更改最小值和最大值属性。
此外,如果我将 min 和 max 属性设置为轴,则图表不会从我设置的日期开始,而是在我设置的日期之前和之后结束。 $newestEntry是数据系列中最新条目的日期,我希望它的位置粘在图表的右端。我希望你明白我的意思。
任何建议不胜感激。
要使用新数据和新轴最小值/最大值进行更新,然后重新绘制图表,我这样做:
// somePlot is flot plot object saved from your initial $.plot call
somePlot.setData(newData);
somePlot.getOptions().xaxes[0].min = newMin;
somePlot.getOptions().xaxes[0].max = newMax;
somePlot.setupGrid();
somePlot.draw();