【发布时间】:2017-09-18 00:43:17
【问题描述】:
我在 for 循环中使用 ggplot 绘制和保存多个图,该循环遍历一个列表。示例列表元素如下所示:
head(genes[[1]])
name fc fdr
gene1 -2.0143529 0.0002
protein1 -3.2256188 0.0001
我使用以下代码进行绘图:
p<-list()
for(i in 1:length(genes)){
p[[i]]<-ggplot(genes[[i]], aes(name,fc, label= name))+
geom_col(aes(fill=factor(fdr < 0.05)), position = "dodge", width = 1)+
coord_flip()+scale_fill_manual(values = c("#00BFC4","#F8766D"))
现在,问题是我正在使用 for 循环绘制 100 多个这样的图,并且我希望始终将基因(列表元素中的第一行)保持在顶部栏,将蛋白质保持为底部栏,因为我省略了所有标签并计划对所有图使用单个图例。但是,ggplot 会不断在不同的图中切换条形的顺序。有没有办法确保这种情况不会发生并且基因始终处于领先地位? 谢谢, 沙什
【问题讨论】: