服务热线
178 0020 3020
library("ggplot2")
library("latex2exp")
mytheme <- theme_classic() +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
legend.position = "none",
plot.caption = element_text(face = "bold.italic") )
myvolcano <- read.csv(file.choose())
head(myvolcano)
myvolcano$significant <- ifelse(abs(log2(myvolcano$FC)) > 1 & myvolcano$q_value < 0.05,"yes","no" )
myvolcano$mylabels <- ifelse(abs(log2(myvolcano$FC)) > 1 & myvolcano$q_value < 0.05,
as.character(myvolcano$Gene.ID),NA)
mysig <- subset(myvolcano,significant == "yes")
mysig
ydrop = -0.6
textdrop = 0.3
myplot <- ggplot(myvolcano,aes(x = log2(FC) , y = -log2(q_value),size = significant)) +
geom_point(col = "grey70",alpha = 1) +
xlim(-2.5,2.7) +
ylim(-0.8,15) +
scale_size_manual(values = c(2,0)) +
geom_point(data = mysig,aes(x = log2(FC),y = -log2(q_value),color=锘縂ene.ID),
size = 4,
position = position_jitter(height = 0.1,width = 0)) +
geom_text(aes(label = mylabels),size =3,hjust = 0,vjust = -1,col = "black",
fontface = "italic") +
annotate("segment", x = 1 , xend = 2.5, y = ydrop,yend = ydrop ,color = "black",
size = 1,arrow = arrow(angle = 18,ends = "last",type = "closed")) +
annotate("segment", x = -1 , xend = -2.5, y = ydrop,yend = ydrop ,color = "black",
size = 1,arrow = arrow(angle = 18,ends = "last",type = "closed")) +
annotate("text",x = 1.7,y = textdrop,label = "Upregulated",size = 4.5) +
annotate("text",x = -1.7,y = textdrop,label = "Downregulated",size = 4.5) +
labs(title = "CMTM6 sgRNA2 vs Control",
caption = "R2-09") +
labs(x = expression(log[2])) +
labs(x = expression(paste(log[2],"(fold change)")),
y = expression(paste(-log[2],"(Q value)")))
myplot +
theme(plot.title = element_text(hjust = mean(range(log2(myvolcano$FC)))+ 0.1)) +
geom_vline(xintercept = 0,linetype = 2 ,size= rel(0.8)) + # adding a line
mytheme
附件