jQuery Flot.js: получить только видимые в данный момент точки данных - PullRequest
0 голосов
/ 30 ноября 2018

Мне нужно получить видимые в данный момент точки данных после масштабирования (или панорамирования, если вы также связываете это событие).

Flot предоставляет несколько методов, но ни один из них я не могу найти для текущих видимых данных.points.

$("#graphContainer").bind("plotzoom", function (event, plot) {
    getCurrentData(plot);
});

function getCurrentData(plot) {
    console.log(plot.getAxes());
    console.log(plot.getData());
};

Метод getAxes() предоставляет вам доступ к диапазонам и текущим тикам.Метод getData() дает вам доступ ко ВСЕМ точкам данных в массиве (var points = plot.getData(); => points[0].data).

Я не нашел способа извлечь только видимые точки после масштабирования, что япытаюсь сделать.Я был бы очень признателен за любую помощь в этом.

1 Ответ

0 голосов
/ 30 ноября 2018

Вы должны сделать это самостоятельно, используя функцию array filter () с чем-то вроде

var plotData = plot.getData()[0];
var visiblePoints = plotData.data.filter(dp =>
    dp[0] >= plotData.xaxis.min && dp[0] <= plotData.xaxis.max &&
    dp[1] >= plotData.yaxis.min && dp[1] <= plotData.yaxis.max);
...