假设我有散点图:
dat = [1+(5-1).*rand(1000,1);89;92];
dat2 = dat+0.2;
scatter(dat,dat2);
从图中可以看出,有两个点比其余值大得多。是否有一种方法可以获取大多数值所在区域的轴限制?
这取决于您对“多数”的定义,但对于这样的任务,您通常应该使用统计工具,例如mean
和std
。
让我们假设大多数点与平均值相差一个标准差。根据这个逻辑,你需要在 x 轴和 y 轴上找到所有落在该范围内的点:
xmaj = dat(abs(dat - mean(dat)) < std(dat));
ymaj = dat2(abs(dat2 - mean(dat2)) < std(dat2));
现在xmaj
并ymaj
包含“大多数”点的坐标。要获得包含大多数点的区域的轴限制,只需执行以下操作:
xlims = [min(xmaj), max(xmaj)]
ylims = [min(ymaj), max(ymaj)]
对于您的示例,您应该是这样的:
xlims =
1.0053 4.9969
ylims =
1.2053 5.1969