我正在使用带有鼠标滚动的Flot Charts来放大和缩小。我创建了一个按钮来调用zoomOut()并且它运行良好,但我找不到任何解决方法,我可以一直缩小,以便它看起来就像它第一次加载时一样。我不想重新加载那个容器,因为它使用ajax在刷新时从mysql中提取数据。
我用谷歌搜索但找不到任何东西。
答案 0 :(得分:7)
您也可以设置双击以重置Flot图表的缩放功能。它将Flot图表重绘为其原始状态,并可与动态数据一起使用。
$("#placeholder").dblclick(function () {
plot = $.plot(placeholder, dataset, options);
});
答案 1 :(得分:4)
您可以将轴的范围设置为null。通过设置此项,将设置缩放级别,以便每个数据点都可见,就像默认缩放级别一样。
与其他解决方案不同,此解决方案不会构建一个全新的情节。
var axes = plot.getAxes(),
xaxis = axes.xaxis.options,
yaxis = axes.yaxis.options;
xaxis.min = null;
xaxis.max = null;
yaxis.min = null;
yaxis.max = null;
// Don't forget to redraw the plot
plot.setupGrid();
plot.draw();
答案 2 :(得分:2)
您可以保存初始轴范围并重绘您的绘图,如example中的导航。但是你的代码看起来像这样:
// do the zooming
plotObjectPointer = $.plot(placeholder, plotData,
$.extend(true, {}, options, {
xaxis: { min: ranges.xaxis.from, max: ranges.xaxis.to },
yaxis: { min: ranges.yaxis.from, max: ranges.yaxis.to }
}));
其中范围将是您的初始范围。为防止重复加载Ajax,您可以使用window.localStorage或其他var来存储plotData。