This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Tutorial: Making LDA Score plot

This blog post is dedicated to my mentor and people out there who are trying to make LDA Score plot or a normal bar chart as shown below. This bar chart contains legend flipped on the opposite sides of the bars unlike normal bar charts where the Y axis ticks are present on one side:

Data: Here I present a dummy data but in metagenomics data the first column is usually genus and second column is LDA score. I save it as Book3.xlsx.

name value
x 4
y 6
z 9
t 5
u 2
v -5
w -4
m -2
c -2
b -1

Code to make LDA Score bar chart

######### Loading libraries
library("dplyr")
library("ggplot2")
library(schoolmath)
library(ggtext)

########### Organising data
dummydf <- readxl::read_excel("Book3.xlsx")
dummydf$name <- as.factor(dummydf$name)
dummydf$class <- ifelse(is.positive(dummydf$value),"Positive","Negative")
dummydf$class <- as.factor(dummydf$class)
class(dummydf$name)

######Plotting LDA Score plot

ggplot(dummydf[order(dummydf$value),], aes(x = name, y = value)) +
geom_bar(aes(fill = class), stat = 'identity') +  
coord_flip() +  
geom_richtext(aes(y = 0, label = name, hjust = as.numeric(value > 0)),fill = NA, fontface="bold",label.color = NA) +
theme_minimal()+
theme(axis.text.y = element_blank(),
    axis.ticks.y = element_blank(),axis.ticks = element_line(color="black", size = 0.3),
    axis.title.y = element_blank(),legend.position = "top",
    legend.justification = 0.05,text = element_text(face="bold",color="black",size = 15),
    legend.title = element_blank(),
    panel.grid.major.y = element_blank(),
    panel.grid.minor.y = element_blank(),axis.line.x = element_line(color="black", size = 0.3),
    panel.grid.major.x = element_line(colour = "grey80", linetype = "dashed"),
    panel.grid.minor.x = element_blank())+scale_fill_manual(values = c( "turquoise1", "tan1"))+
scale_y_continuous(expression(log[10](italic("LDA score"))),
                     breaks = -10:10, limits = c(-10, 10))

enter image description here

lda metagenomics

0 answers

No answers yet.

Log in to answer this question.