0

我目前正在使用 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 属性。

此外,如果我将 min 和 max 属性设置为轴,则图表不会在我设置的日期开始,而是在我设置的日期之前和之后结束。$newestEntry 是数据系列中最新条目的日期,我希望它的点位于图表的右端。我希望你明白我的意思。

任何建议表示赞赏。

4

1 回答 1

2

要使用新数据和新轴最小值/最大值进行更新,然后重新绘制图表,我会这样做:

 // 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();
于 2013-11-01T12:57:48.227 回答