DotPlot 的宽高自动设置 | 线性拟合

1. 线性模型计算width和height

输入是基因集合

scRNA.markers <- FindAllMarkers(scRNA, only.pos = TRUE, min.pct = 0.25, logfc.threshold = 0.25)
#scRNA@misc[["markers"]]=scRNA.markers
#scRNA.markers %>% group_by(cluster) %>% top_n(n = 2, wt = avg_log2FC)

auto.markers=unique(c(
  scRNA.markers %>% group_by(cluster) %>% top_n(n = 4, wt = avg_log2FC) %>% pull(gene)
))

(1).pdf width

length(auto.markers)
# x, y
# 55,15
# 87,22
# 129, 30
# lm(y~x, data=data.frame(x=c(55,87,129), y=c(15,22,30)))
# y=0.2021*x+4.0787
pdf_width = 0.2021*length(auto.markers) +4.0787

如果基因集合是自定义的list,还需要考虑list中每个key之间的间距:

pdf_width = 0.2021*length(markers |> unlist() ) +4.0787 + length(markers)*0.2 #add space between gene groups

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值