0

假设我有散点图:

dat = [1+(5-1).*rand(1000,1);89;92];
dat2 = dat+0.2;
scatter(dat,dat2);

从图中可以看出,有两个点比其余值大得多。是否有一种方法可以获取大多数值所在区域的轴限制?

4

1 回答 1

3

这取决于您对“多数”的定义,但对于这样的任务,您通常应该使用统计工具,例如meanstd

让我们假设大多数点与平均值相差一个标准差。根据这个逻辑,你需要在 x 轴和 y 轴上找到所有落在该范围内的点:

xmaj = dat(abs(dat - mean(dat)) < std(dat));
ymaj = dat2(abs(dat2 - mean(dat2)) < std(dat2));

现在xmajymaj包含“大多数”点的坐标。要获得包含大多数点的区域的轴限制,只需执行以下操作:

xlims = [min(xmaj), max(xmaj)]
ylims = [min(ymaj), max(ymaj)]

对于您的示例,您应该是这样的:

xlims =

    1.0053    4.9969


ylims =

    1.2053    5.1969
于 2012-12-11T14:47:41.017 回答