我有一个包含一些简单信息的数据框。样本代码(A,C,T或G)和每个样本的一些计数。我还有一个数据框,其中包含一些我希望绘制为每个代码的垂直线的方法。不幸的是,当我制作情节时,所有情节都显示在所有情节上。有没有办法在一个图上按顺序绘制一条垂直线?
非常感谢,下面是一个简单的例子
虚拟数据
sample <- c(1:100)
code <- c(rep("A", 25), rep("C", 25),rep("G", 25),rep("T", 25))
count <- sample(1:30, 100, replace=T)
df <- data.frame(sample, code, count)
vline.data <- data.frame(z = c(15, 20, 25, 30))
ggplot(df, aes(x=count))+
geom_histogram(binwidth=.5)+
facet_grid(. ~ code)+
geom_vline(aes(xintercept = z), vline.data)+
theme(axis.title.x=element_text(),
axis.title.y=element_text(),
legend.position="none")
答案 0 :(得分:1)
也许这个?:
sample <- c(1:100)
code <- c(rep("A", 25), rep("C", 25),rep("G", 25),rep("T", 25))
count <- sample(1:30, 100, replace=T)
df <- data.frame(sample, code, count)
library(dplyr)
vline.data <- df %>%
group_by(code) %>%
summarize(z = mean(count))
ggplot(df, aes(x=count))+
geom_histogram(binwidth=.5)+
facet_grid(. ~ code)+
geom_vline(aes(xintercept = z), vline.data, colour = "red")+
theme(axis.title.x=element_text(),
axis.title.y=element_text(),
legend.position="none")