如何从散点图中选择多组数据点(如流式细胞术/细胞分选中的门控)?
10ビュ(過去30日間)
表示古いコメント
採用された回答
亚当Danz
2021 年 9 月 28 日
編集済み:亚当Danz
2021 年 9 月 30 日
利用每条参考线的斜率和y截距,确定哪些点的y值小于上一条线,哪些点的y值大于下一条线。
创建演示数据
.我假设您已经计算了每个x和y的log(),因为坐标轴尺度不是log。
X = exp(linspace(2.2,5.8,500));
y = exp(日志(x) +兰德(大小(x))。* linspace(2。1元素个数(x)) 1);
定义每条直线的斜率和y截距
斜率= 0.74484;
Yint = -1:.5:2;
将x,y转换为log
Xlog = log(x);
Ylog = log(y);
阴谋的结果
H = plot(xlog, ylog,“o”);
xlim ([2,6])
ylim ([5, 7.7])
添加参考线
.我假设你们已经知道斜率和y截距了。
arrayfun (@ (y) refline(斜率,y) yint)
%标签行数
Text (6*ones(size(yint)), slope*6+yint, compose(' % d '1:元素个数(yint)))
在两条参考线之间隔离点
.在这个演示中,我们分离了第3行和第5行之间的点。
%隔离第3行和第5行之间的点
isBetween = ylog > slope*xlog+yint(3) & ylog < slope*xlog+yint(5);
% ^ ^
绘制孤立点并返回它们的x,y值
标记所选点
持有在
xBetween = xlog(isBetween);
yBetween = ylog(isBetween);
h2 = plot(xBetween, yBetween,“r”。);
传奇([h, h2),的所有数据,第3行和第5行之间的数据)
2件のコメント
亚当Danz
2021 年 9 月 30 日
看起来参考线是平行的,因此斜率相同。如果是这样,它们只随y轴截距变化。我定义了一个斜率和7个y轴截距(见变量)
坡
而且
yint
).y轴截距是按升序排列的,所以底部的直线是直线1,顶部的直线是直线7。
在“
在两条参考线之间隔离点
,我选择了第3和第5行。