Plot DIABLO components


I would like to make a figure similar to Fig. 3A in Singh et al. 2019. By using plotDiablo() I am able to plot the correlation between each omics type to each other for a specific component. But how do I plot components 1 and 2 for instance to see how well samples separate by the components?

Kind regards,

Have you explored the plotIndiv() function?

Thank you for your response. I have used the block.splsda (diablo) function and integrated 4 omics types for a classification purpose. I have explored the plotIndiv function and I think I found the parameter I am looking for; = c(“X-variate”, “XY-variate”, “Y-variate”, “multi”), but this parameter does not seem to be available for my object, which is a block.splsda object?

Hi @emmy

Say you follow this example: DIABLO TCGA Case Study | mixOmics

You want to add blocks = 'average' for a consensus plot, and then style = 'graphics' so that on top you can overlay the test samples using their predicted components.

plotIndiv(diablo.tcga, ind.names = FALSE, legend = TRUE, title = 'TCGA, DIABLO comp 1 - 2', blocks = 'average', style = 'graphics')

Screen Shot 2023-05-26 at 09.30.58


This is what I was looking for, thank you so much! :slight_smile: