You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用MOFA2的plot_factors仅绘制密度图而非散点图?

解决MOFA2 plot_factors仅显示密度图的问题

使用MOFA2包的plot_factors函数绘制因子图时,默认输出带散点的配对图,希望仅展示密度图,尝试修改函数源码的dot_size参数为0无效。以下是可行的解决方法:

方法1:利用内置参数直接切换绘图类型

plot_factors本身提供了plot_type参数,设置为"density"即可直接生成仅含密度图的结果,无需修改源码:

plot_factors(MOFAobject.trained, 
  factors = 1:3,
  color_by = "RISK_CYTO",
  plot_type = "density"
)

注意:需使用训练后的模型对象MOFAobject.trained,而非未训练的MOFAobject,否则无法生成有效因子图。

方法2:手动提取因子值自定义绘制密度图

如果需要更灵活的样式调整(比如修改填充透明度、配色),可以先提取因子得分,再用ggplot2+GGally手动绘制:

# 提取训练后的因子得分
factors_df <- get_factors(MOFAobject.trained, factors = 1:3) %>% 
  as.data.frame() %>% 
  tibble::rownames_to_column("sample") %>% 
  # 合并分组元数据
  dplyr::left_join(get_metadata(MOFAobject.trained), by = "sample")

# 用GGally绘制配对密度图
library(ggplot2)
library(GGally)

ggpairs(factors_df, 
        columns = c("Factor1", "Factor2", "Factor3"),
        aes(color = RISK_CYTO, fill = RISK_CYTO),
        upper = list(continuous = "density"),
        lower = list(continuous = "density"),
        diag = list(continuous = "densityDiag")
) +
  theme_bw()

原始代码参考

原绘图代码

plot_factors(MOFAobject, 
  factors = 1:3,
  color_by = "RISK_CYTO"
)

数据准备与模型训练代码

dt = fread("ftp://ftp.ebi.ac.uk/pub/databases/mofa/getting_started/data.txt.gz")
head(dt)
dt[,group:=NULL]
MOFAobject <- create_mofa(dt)
print(MOFAobject)
data_opts <- get_default_data_options(MOFAobject)
head(data_opts)
model_opts <- get_default_model_options(MOFAobject)
head(model_opts)
train_opts <- get_default_training_options(MOFAobject)
head(train_opts)
MOFAobject <- prepare_mofa(
  object = MOFAobject,
  data_options = data_opts,
  model_options = model_opts,
  training_options = train_opts
)

模型训练代码

outfile = file.path(getwd(),"model.hdf5")
MOFAobject.trained <- run_mofa(MOFAobject, outfile)

原重新绘图代码

plot_factors(MOFAobject, 
      factors = 1:3,
      color_by = "group"
    )

内容的提问来源于stack exchange,提问作者PesKchan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 10:05:13