说我是否有散点图:
dat = [1+(5-1).*rand(1000,1);89;92];
dat2 = dat+0.2;
scatter(dat,dat2);
从图中可以看出,有两个点远远大于其余值。是否有一种方法可以获得大多数值所在区域的轴限制?
答案 0 :(得分:3)
这取决于您对“多数”的定义,但对于此类任务,您通常应使用统计工具,例如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