我对 jQuery Flot 实施了某些缩放功能, 但效果不妙 。 缩放通过捕捉 Flot s “ plots selective” 事件来实施, 并使用“ 范围” 参数重新绘制, 以修改 xaxis 和 yexis 最大值和 分钟值 。
当最初绘制时, 此图确实显示正确, 并且我可以拖动来做出 x- y 选择 。 当绘图被重新绘制时, 屏幕缩进时, 屏幕上轴网格的实际大小, 尽管已经绘制了适当的数据范围 。 此外, 每次我放大- replot 时, 轴标签就会从视图中消失, 尽管我仍然可以在检查器中看到它们, 并且这个图图的左下角上方有一些十字架, 看上去像是轴标签已经移动到上面, 并且部分( 简单) 可见。 我有一些其他代码, 以不同的数据重新绘制此图, 同时也将轴标签从视图中删除 。 尽管此图的大小并没有缩小( 缩放时会这样做 ), 并且再次绘制适当的数据 。 我提到这两个问题可能有着共同的起源 。
我想也许我可以在重新铺设之前 以某种方式 摧毁阴谋或清理画布 来解决这些问题, 但我还没有找到任何指导 如何做到这一点。
以下是一些相关的代码片断。 首个列表列出了最初绘制图的代码, 并连接到“ 选中的” 事件 :
o.midGraph = $.plot($("#small-graph-mid"), testData, graphOptions);
$("#small-graph-mid").unbind("plotselected");
$("#small-graph-mid").bind("plotselected", function (event, ranges) {
graphOptions = o.midGraph.getOptions();
testData = o.midGraph.getData();
o.midGraph = $.plot($("#small-graph-mid"), testData,
self._graphZoomOptions(graphOptions, ranges));
});
这是设定新范围轴范围的函数 :
_graphZoomOptions: function(options, ranges) {
return $.extend(true, {}, options, {
xaxis: { min: ranges.xaxis.from, max: ranges.xaxis.to },
yaxis: { min: ranges.yaxis.from, max: ranges.yaxis.to }
});
},
我是否在正确的轨道上 认为我需要 某种方式摧毁/清除/重设 阴谋/空洞?