如何在 FLOT 图中获取 y 轴最大范围
How to get the y axis max range in FLOT graph
我想根据绘图数据更改 y 轴最大范围。所以当我绘制图形时,它会根据最大绘图数据动态分配 y 轴范围。
目前,我没有在选项中为 Y 轴定义任何最大范围来实现上述目标。所以它根据数据绘图动态分配最大 y 轴范围
这是我上面实现的代码
var source = [];
var options = {
xaxis: {
...
}
yaxis: {
min: 0,
axisLabel: "Y",
axisLabelUseCanvas: false,
axisLabelFontSizePixels: 12,
axisLabelFontFamily: "Verdana, Arial, Helvetica, Tahoma, sans-serif",
axisLabelPadding: 15
},
}
plotObj = $.plot($("#placeholder"), source, options) ;
它工作正常并动态分配 y 轴最大范围。但是,我包含了 "jquery.flot.selection.js" 插件来缩放所选区域。所以它使用下面提到的代码
放大到 ranges.yaxis.from 到 ranges.yaxis.to
$("#placeholder").on("plotselected", function(ev, ranges) {
//clearInterval(protection_timer);
axes_data = plotObj.getAxes(); //get plotted axis ranges
axes_data.xaxis.options.min = ranges.xaxis.from ;
axes_data.xaxis.options.max = ranges.xaxis.to ;
axes_data.yaxis.options.min = ranges.yaxis.from;
axes_data.yaxis.options.max = ranges.yaxis.to;
...
plotObj.setData(graphData);
plotObj.setupGrid();
plotObj.draw();
});
现在,当用户双击占位符区域时,我需要重新设置图表。但是这一次,由于 y 轴最大范围未定义,因此不会重置。如何获得缩放前显示的 y 轴范围?请给点建议
在此处使用第二行展开您的 plotselected
活动:
axes_data = plotObj.getAxes(); //get plotted axis ranges
axes_data.yaxis.originalMax = axes_data.yaxis.max; // save max value
axes_data.xaxis.options.min = ranges.xaxis.from;
并在 doubleclick
事件中重置图形添加相应的行:
axes_data.yaxis.max = axes_data.yaxis.originalMax; // restore max value
我想根据绘图数据更改 y 轴最大范围。所以当我绘制图形时,它会根据最大绘图数据动态分配 y 轴范围。
目前,我没有在选项中为 Y 轴定义任何最大范围来实现上述目标。所以它根据数据绘图动态分配最大 y 轴范围
这是我上面实现的代码
var source = [];
var options = {
xaxis: {
...
}
yaxis: {
min: 0,
axisLabel: "Y",
axisLabelUseCanvas: false,
axisLabelFontSizePixels: 12,
axisLabelFontFamily: "Verdana, Arial, Helvetica, Tahoma, sans-serif",
axisLabelPadding: 15
},
}
plotObj = $.plot($("#placeholder"), source, options) ;
它工作正常并动态分配 y 轴最大范围。但是,我包含了 "jquery.flot.selection.js" 插件来缩放所选区域。所以它使用下面提到的代码
放大到 ranges.yaxis.from 到 ranges.yaxis.to $("#placeholder").on("plotselected", function(ev, ranges) {
//clearInterval(protection_timer);
axes_data = plotObj.getAxes(); //get plotted axis ranges
axes_data.xaxis.options.min = ranges.xaxis.from ;
axes_data.xaxis.options.max = ranges.xaxis.to ;
axes_data.yaxis.options.min = ranges.yaxis.from;
axes_data.yaxis.options.max = ranges.yaxis.to;
...
plotObj.setData(graphData);
plotObj.setupGrid();
plotObj.draw();
});
现在,当用户双击占位符区域时,我需要重新设置图表。但是这一次,由于 y 轴最大范围未定义,因此不会重置。如何获得缩放前显示的 y 轴范围?请给点建议
在此处使用第二行展开您的 plotselected
活动:
axes_data = plotObj.getAxes(); //get plotted axis ranges
axes_data.yaxis.originalMax = axes_data.yaxis.max; // save max value
axes_data.xaxis.options.min = ranges.xaxis.from;
并在 doubleclick
事件中重置图形添加相应的行:
axes_data.yaxis.max = axes_data.yaxis.originalMax; // restore max value