R 导出/显示时缺少条带多个值的条形图

R 导出/显示时缺少条带多个值的条形图,r,ggplot2,bar-chart,R,Ggplot2,Bar Chart,我有一个超过3000条的堆叠条形图。当我在RStudio中显示它时,绘图中有周期性的间隙,应该包含值。我还收到警告消息:position_堆栈需要恒定宽度:输出可能不正确。 当我使用R dev页面中的x11控制多个设备并将绘图部分拉伸到2个监视器时,我验证了这些值是否存在 据我所知,这是一个大数据集,条形图在如此大的尺寸下不太具有描述性。我打算在较小的范围内使用堆叠条形图作为每个基因突变的分类计数,并希望为大型文件提供一个可扩展的版本 以下是进入堆叠条形图的数据帧的概念,根据突变着色: Gene

我有一个超过3000条的堆叠条形图。当我在RStudio中显示它时,绘图中有周期性的间隙,应该包含值。我还收到警告消息:position_堆栈需要恒定宽度:输出可能不正确。 当我使用R dev页面中的x11控制多个设备并将绘图部分拉伸到2个监视器时,我验证了这些值是否存在

据我所知,这是一个大数据集,条形图在如此大的尺寸下不太具有描述性。我打算在较小的范围内使用堆叠条形图作为每个基因突变的分类计数,并希望为大型文件提供一个可扩展的版本

以下是进入堆叠条形图的数据帧的概念,根据突变着色:

Gene    Mutation    value
ABC     MUT1        1
ZYX     MUT1        1
DEF     MUT1        0
ABC     MUT2        1
ZYX     MUT2        0
DEF     MUT2        0
作为临时修复,我为geom_bar创建了两个选项。较大的宽度会产生一个新的警告:position_stack需要不重叠的x间隔,但输出条形图不会显示间隙

barplot<- ggplot(bar.df2, aes(x = Gene, y = value, fill = as.character(Mutation)))+
  # For input file with very many genes, use the following:
  #geom_bar(stat = "identity", width = 1.5) + 

  # For input file with <= 150 genes, use the following:
  geom_bar(stat = "identity") +

  coord_flip() + 
  scale_fill_manual(breaks = mutvec, values = colvec2)+ 
  theme(axis.title.y = element_blank(), axis.text.y = element_blank(), 
        axis.ticks.y = element_blank(), plot.margin = unit(c(0.5, 0.5, 0.5, -0.5), "lines")) +
  xlim(rev(levels(bar.df2$Gene))) +
  guides(fill=FALSE)

# This then goes into ggplotGrob() and grid.arrange 
# with a heatmap which is the main plot

有没有更好的方法让这个堆叠的条形图以小比例显示所有的条形图?

一个有3000条的条形图?认真地你应该重新考虑你对绘图的选择。它总结了同一绘图中的热图。对于热图中的每个彩色瓷砖,我增加相应的条。它在较小的范围内工作良好,例如100巴。对于完整的数据集,这就是问题发生的时候。罗兰的观点是,一个有那么多条的条形图可能不是一个非常有效的显示数据的方法,当你需要使用两个监视器来查看足够的细节来验证你的问题时,这应该是显而易见的。我同意。在小范围内,堆叠条形图更具描述性,您可以看到不同的比例。通过将条的宽度更改为1.5,我消除了输出中的空格,但收到另一条警告消息:position_stack需要不重叠的x间隔。我会为较小的热图保留条形图。@frost_wander如果你1-创建数据样本2-你尝试过的代码3-你拥有的图4-最终图,或者至少在你当前的图中提到你在使用MSpaint或gimp时遇到问题,。。