如何解决在ggplot2的每个方面覆盖相同的线图
我需要在所有方面覆盖相同的 'target_gene' 图。如果我在 1 个面板中绘制所有内容,我可以轻松覆盖它。但是,当我将此操作与 facet_wrap
结合使用时,'target_gene' 被绘制在一个单独的方面,而不是覆盖在其他图上。请参阅下面的脚本。 'select_genes_plot' 有效(参见 same panel plots),但 'select_genes_plot_facet' 不起作用(参见 plot in facets)。
请注意,我不能使用 +annotate(geom='point',x=target_gene$gene_exp.Time,y=target_gene$gene_exp.Value)
,因为我也想绘制 sd 误差线。
transcriptome_reshape 和target_gene 数据如下所示,请参见transcriptome data example 和target gene data)
library(ggplot2)
library(dplyr)
library(reshape2)
##1. Read transcriptome dataset
setwd('./')
transcriptome_data <- read.csv ('./Kaladp_expression_FPKM_average_sd.csv',header = TRUE)
reshape_data <- melt(transcriptome_data) #the function melt reshapes it from wide to long
average_geneexpression <- reshape_data[1:(743136/2),]
sd_geneexpression <- reshape_data[((743136/2)+1):743136,]
transcriptome_reshape <- cbind(average_geneexpression,sd_geneexpression)
colnames(transcriptome_reshape)[2]<- 'gene_exp.Time'
colnames(transcriptome_reshape)[3]<- 'gene_exp.Value'
colnames(transcriptome_reshape)[4]<- 'transcript_sd_data'
colnames(transcriptome_reshape)[5]<- 'sd.Time'
colnames(transcriptome_reshape)[6]<- 'sd.Value'
##2. Select ONE key target gene
target_gene <- transcriptome_reshape %>%
filter (Transcript %in% c('Kaladp0977s0008.1'))
##3.Plot options
##plot whole genome
ggplot(data = transcriptome_reshape,aes(x = gene_exp.Time,y = gene_exp.Value,group = Transcript)) +
geom_line()
##plot target gene alone
ggplot(target_gene,group = 1)) +
geom_line()+
geom_point()
##plot all genes on same panel
select_genes_plot <- transcriptome_reshape %>%
filter (Transcript %in% c('Kaladp0498s0001.1','Kaladp0011s0858.1','Kaladp0071s0450.1')) %>%
ggplot(mapping = aes(x = gene_exp.Time,color = Transcript)) +
geom_line(aes(group=Transcript))+
geom_point()+
geom_errorbar(aes(ymin = gene_exp.Value-sd.Value,ymax = gene_exp.Value+sd.Value),width = 0.2,position = position_dodge(0.0))+
geom_point(data = target_gene,y = gene_exp.Value),color = 'black',shape = 17)+ #this line plots target gene
geom_line(data = target_gene,group=Transcript),color = 'black')+ #this line plots target gene
geom_errorbar(data = target_gene,aes(ymin = gene_exp.Value-sd.Value,position = position_dodge(0.0))#this line plots target gene
select_genes_plot
##plot in facets
select_genes_plot_facets <- transcriptome_reshape %>%
filter (Transcript %in% c('Kaladp0498s0001.1',position = position_dodge(0.0))+
facet_wrap(facets = vars(Transcript),ncol = 3)+
geom_point(data = target_gene,group = 1),color = 'black')+ #this line plots target gene
select_genes_plot_facets
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。