我已经使用jQuery flot实现了一些缩放功能,但它工作得不是很正确.通过捕获flot的"plotselected"事件并使用"ranges"参数重新绘制以修改xaxis和yaxis max和min值来实现缩放.
绘图在初始绘制时确实正确显示,我可以拖动以进行xy选择.重绘绘图时,虽然绘制了适当的数据范围,但屏幕上轴网格的实际大小会缩小.此外,每次缩放重新绘制时,轴标签都会从视图中消失,但我仍然可以在检查器中看到它们,并且在绘图的最左上方有一些看似轴标签可能已向上移动的残骸在那里,部分(几乎)可见.我有一些其他代码使用不同的数据重新绘制绘图,同时也从视图中删除轴标签,尽管绘图的大小不缩小(与缩放时一样),并且再次绘制适当的数据.我提到这两个问题或许有共同的起源.
我想也许我可以在重新绘制之前以某种方式破坏情节或清除画布来处理这些问题,但我还没有找到关于如何做到这一点的任何指导.
以下是一些相关的代码段.第一个列出最初渲染绘图并绑定到"plotselected"事件的代码:
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));
});
Run Code Online (Sandbox Code Playgroud)
以下是将轴范围设置为新范围的函数:
_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 }
});
},
Run Code Online (Sandbox Code Playgroud)
我是否正确认为我需要以某种方式破坏/清除/重置情节/画布?
| 归档时间: |
|
| 查看次数: |
2388 次 |
| 最近记录: |