浮点图数据点数量

发布于 2024-12-26 06:33:33 字数 91 浏览 0 评论 0原文

我需要使用 x 轴选择来绘制具有缩放功能的图形,我正在使用 Flot 来绘制图形。我必须显示缩放后存在的点数。 我总是得到总长度而不是缩放长度。

请帮忙

I have a requirement to Plot a graph with zoom feature using x axis selection, i am using Flot for plotting graph. I have to show the number of points present after zooming.
I am alwayz getting the total length not the Zoomed length.

Kindly Help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

贱贱哒 2025-01-02 06:33:33

在你的“plotzoom”回调中,你可以获得 min & max x / y 坐标如下(来自网站上的示例):

placeholder.bind('plotzoom', function (event, plot) {
    var axes = plot.getAxes();
    $(".message").html("Zooming to x: "  + axes.xaxis.min.toFixed(2)
                       + " – " + axes.xaxis.max.toFixed(2)
                       + " and y: " + axes.yaxis.min.toFixed(2)
                       + " – " + axes.yaxis.max.toFixed(2));
});

您可以使用它们来计算此矩形内有多少个点。

我可以建议使用 underscore.js 过滤功能来简化这个吗?

例如。

var xmin = axes.xaxis.min.toFixed(2);
var xmax = axes.xaxis.max.toFixed(2);
var ymin = axes.yaxis.min.toFixed(2);
var ymax = axes.yaxis.max.toFixed(2);

var points = [{x: 1, y:20} ..some points.. {x: 30, y: -23}];

var shownpoints = _.filter(points, function(point){ 
    return point.x > xmin && 
           point.x < xmax && 
           point.y > ymin && 
           point.y < ymax;
    }
);

这将给出一个包含 x 和 x 之间的点的数组。 y 格言。然后您可以使用长度来获得计数!

In your "plotzoom" callback, you can get min & max x / y co-ordinates back like so (from the examples on the site):

placeholder.bind('plotzoom', function (event, plot) {
    var axes = plot.getAxes();
    $(".message").html("Zooming to x: "  + axes.xaxis.min.toFixed(2)
                       + " – " + axes.xaxis.max.toFixed(2)
                       + " and y: " + axes.yaxis.min.toFixed(2)
                       + " – " + axes.yaxis.max.toFixed(2));
});

You can the use these to count how many points are within this rectangle.

May i suggest using underscore.js filter function to simplify this?

Eg.

var xmin = axes.xaxis.min.toFixed(2);
var xmax = axes.xaxis.max.toFixed(2);
var ymin = axes.yaxis.min.toFixed(2);
var ymax = axes.yaxis.max.toFixed(2);

var points = [{x: 1, y:20} ..some points.. {x: 30, y: -23}];

var shownpoints = _.filter(points, function(point){ 
    return point.x > xmin && 
           point.x < xmax && 
           point.y > ymin && 
           point.y < ymax;
    }
);

This will give an array with points in-between x & y maxims. You can then use length to get the count!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文