3000 を超えるバーを含む積み上げ棒グラフがあります。RStudio で表示すると、値を含むプロットに周期的なギャップがあります。また、「position_stack には一定の幅が必要です: 出力が正しくない可能性があります」という警告メッセージも表示されます。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() の 2 つのオプションを作成しました。幅を大きくすると、「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
この積み上げ棒グラフのすべての棒を小さいスケールで表示するためのより良い方法はありますか?