Ggplot2 条形图中缺少值

Ggplot2 条形图中缺少值,ggplot2,Ggplot2,在我已经得到的帮助下,我能够建造出我想要的酒吧 现在我想用新数据做完全相同的绘图,这与之前的非常相似,尽管它不起作用,我也不知道为什么 数据如下: > dput(pcwdegs) structure(list(comp = c("C0vsC12", "C0vsC12", "C0vsC24", "C0vsC24", "C0vsT12", "C0vsT12", "C0vsT24", "C0vsT24", "C12vsC24", "C12vsC24", "C12vsT12", "C12vs

在我已经得到的帮助下,我能够建造出我想要的酒吧

现在我想用新数据做完全相同的绘图,这与之前的非常相似,尽管它不起作用,我也不知道为什么

数据如下:

 > dput(pcwdegs)
structure(list(comp = c("C0vsC12", "C0vsC12", "C0vsC24", "C0vsC24", 
"C0vsT12", "C0vsT12", "C0vsT24", "C0vsT24", "C12vsC24", "C12vsC24", 
"C12vsT12", "C12vsT12", "C12vsT24", "C12vsT24", "C24vsT12", "C24vsT12", 
"C24vsT24", "C24vsT24", "T12vsT24", "T12vsT24"), reg = c("up", 
"down", "up", "down", "up", "down", "up", "down", "up", "down", 
"up", "down", "up", "down", "up", "down", "up", "down", "up", 
"down"), count = c(7L, 15L, 11L, 5L, 51L, 50L, 49L, 38L, 10L, 
2L, 54L, 44L, 55L, 32L, 24L, 32L, 12L, 17L, 31L, 22L)), class = "data.frame", row.names = c(NA, 
-20L))
我收到的代码和警告信息说,所有观察结果都已删除,情节如下:

ggplot(data = pcwdegs, 
       mapping = aes(x = comp, fill = reg,
                     y = ifelse(test = reg == "down", 
                                yes = -count, no = count))) +
  geom_bar(stat = "identity") +
  scale_y_continuous(labels = abs, limits = max(pcwdegs$count) * c(-1.05,1.05)) +
  geom_text(aes(label=count), vjust=0.5, color="black", size=3.0, nudge_y = c(-1.5,1.5))+
  labs(y = "DEGs related to plant cell wall", x = "Groups comparisons") + 
  scale_fill_manual(values=c("#98FB98","#FA8072","#00FF00","#FF0000"), name = "Expression regulation", labels = c("down-regulated", "up-regulated")) +
  scale_x_discrete(limits=c("T12xT24", "C24xT24", "C24xT12", "C12xT24", "C12xT12", "C12xC24", "C0xT24", "C0xT12", "C0xC24","C0xC12")) +
  coord_flip()    

Warning messages:
    1: Removed 20 rows containing missing values (position_stack). 
    2: Removed 20 rows containing missing values (geom_text). 
    3: Position guide is perpendicular to the intended axis. Did you mean to specify a different guide `position`?

在网上寻找解决方案时,建议检查是否存在NA值,并在limits=maxpcwdegs$count*c-1.05,1.05中设置更高的限制,正如我在第一个问题上已经建议并完成的那样。所以我仍然不知道为什么类似的数据与代码的行为不同

问题的出现是因为新数据集中的类别不符合scale_x_离散定义的限制。在你的新DF中的类别在中间有一个VS,而在极限中它是X。只要在极限处用vs替换x,一切都很好

图书馆GGPLOT2 ggplotdata=pcwdegs, 映射=aesx=comp,填充=reg, y=ifelsetest=reg==down, 是=-计数,否=计数+ geom_barstat=标识+ 缩放连续标签=绝对值,限制=最大PCWDEGS$count*c-1.05,1.05+ geom_textaeslabel=count,vjust=0.5,color=black,size=3.0,微移_y=c-1.5,1.5+ labsy=与植物细胞壁相关的DEGs,x=组比较+ 刻度\填充\手动值=c98FB98,FA8072,00FF00,FF0000,名称=表达式调节,标签=自调节,上调+ 刻度盘离散极限=cT12xT24、C24xT24、C24xT12、C12xT24、C12xT12、C12xT12、C12xC24、C0xT24、C0xT12、C0xC24、C0xC12+ 刻度离散极限=cT12vsT24、C24vsT24、C24vsT12、C12vsT24、C12vsT12、C12vsC24、C0vsT24、C0vsT12、C0vsC24、C0vsC12+ 坐标翻转
由v0.3.0于2020年5月23日创建。简单的命名法,我已经绞尽脑汁了。我从来没有想过它会干扰。非常感谢你。