我有一个超过 3000 个条形图的堆积条形图。当我在 RStudio 中显示它时,图中应该包含值的周期性间隙。我还收到警告消息:“position_stack 需要恒定宽度:输出可能不正确”。当我使用 R 开发页面(控制多个设备)中的 x11() 并将绘图部分拉伸到 2 个监视器时,我验证了这些值是否存在。
我知道这是一个大型数据集,并且条形图在如此大的尺寸下描述性较差。我打算使用较小规模的堆积条形图作为每个基因突变的分类统计,并希望为大文件提供可扩展的版本。
这是进入堆积条形图的数据框的一个想法,根据 Mutation 着色:
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
这个堆积条形图有没有更好的方法来小规模显示所有条形图?