我有一张像这样的桌子
Condition downsampling E. coli S. cerevisiae
Treated 45000000 1 0.944968385
Treated 40000000 1 0.932060195
Treated 32000000 1 0.900323585
Treated 16000000 0.99999549 0.73127366
Treated 8000000 0.99993898 0.503170515
Treated 4000000 0.99892133 0.30287704
Treated 2000000 0.97810106 0.16861184
Treated 1000000 0.86656028 0.089200035
Untreated 45000000 0.886457145 0.108071345
Untreated 40000000 0.85728706 0.09729946
Untreated 32000000 0.79344402 0.08072991
Untreated 16000000 0.553520285 0.04306675
Untreated 8000000 0.337149605 0.023035225
Untreated 4000000 0.18756713 0.0119472
Untreated 2000000 0.097686445 0.006072755
Untreated 1000000 0.05007619 0.0031243
如何在 R 中生成一个图表,其中有 4 条曲线,分别代表每种细菌的两个条件?请参阅附上 Excel 中生成的图片以了解我想要获得的内容
沿着这些路线尝试了 ggplot 的一些东西,但不起作用
test <- ggplot(dfuse, aes(x=Downsampling))+
geom_line(data = dfuse[dfuse$Treatment=="Untreated",], aes(x=Downsampling, y=E.coli, color="E.coli untreated"), size=1.5) +
geom_line(data = dfuse[dfuse$Treatment=="Untreated",], aes(x=Downsampling, y=S.cerevisiae, color="S.cerevisiae untreated"), size=1.5) +
geom_line(data = dfuse[dfuse$Treatment=="ALU Plus 120K 1hr 1X 42C",], aes(x=Downsampling, y=E.coli, color="E.coli treated"), size=1.5) +
geom_line(data = dfuse[dfuse$Treatment=="ALU Plus 120K 1hr 1X 42C",], aes(x=Downsampling, y=S.cerevisiae, color="S.cerevisiae treated"), size=1.5) +
labs(x="Downsampling", y="Genome Coverage (%)") +
scale_color_manual(values=c("E.coli untreated"="blue", "S.cerevisiae untreated"="red", "E.coli treated"="green", "S.cerevisiae treated"="purple")) +
theme_minimal()
test
ggsave(test,filename = "test.png", height=8, width=10)
library(dplyr)
library(tidyr)
library(ggplot2)
dfuse %>%
pivot_longer(-c(Condition, downsampling)) %>%
mutate(cb = paste(gsub("\\.\\.", "\\.", name), tolower(Condition))) %>%
ggplot(aes(x = downsampling/1e6, y = value, color = cb, group = cb)) +
geom_line(color = "black") +
geom_point() +
labs(title = "Microbial genome breradth of coverage",
x="Downsampling (Millions)", y="Genome Coverage (%)") +
scale_x_continuous(limits = c(0, 50)) +
scale_y_continuous(labels = scales::percent) +
scale_color_manual(values=c("E.coli untreated"="blue",
"S.cerevisiae untreated"="red",
"E.coli treated"="green",
"S.cerevisiae treated"="purple"),
name = "") +
theme_classic() +
theme(legend.position="bottom",
plot.title = element_text(hjust = 0.5))
read.table(text = "Condition downsampling 'E. coli' 'S. cerevisiae'
Treated 45000000 1 0.944968385
Treated 40000000 1 0.932060195
Treated 32000000 1 0.900323585
Treated 16000000 0.99999549 0.73127366
Treated 8000000 0.99993898 0.503170515
Treated 4000000 0.99892133 0.30287704
Treated 2000000 0.97810106 0.16861184
Treated 1000000 0.86656028 0.089200035
Untreated 45000000 0.886457145 0.108071345
Untreated 40000000 0.85728706 0.09729946
Untreated 32000000 0.79344402 0.08072991
Untreated 16000000 0.553520285 0.04306675
Untreated 8000000 0.337149605 0.023035225
Untreated 4000000 0.18756713 0.0119472
Untreated 2000000 0.097686445 0.006072755
Untreated 1000000 0.05007619 0.0031243",
header = T, stringsAsFactors = T) -> dfuse
创建于 2024-03-28,使用 reprex v2.0.2