ループでいくつかの棒グラフを生成しますが、それらはすべて、棒のサイズではなく、出力サイズ (プロット/デバイスのサイズから推測しますか?) に従ってサイズ変更されます。これは、棒が 2 本あるプロットには太い棒があり、棒が 6 本あるプロットには細い棒があることを意味します。ただし、両方の出力は同じサイズです。以下のコードは、再現可能なデータを含むスクリプトを表しています (他にも多くの aes/テーマの変更を行っています)。
バーが異なるグラフ間で常に同じ幅になるように、出力プロットのサイズを (バー幅の寸法で) 変更したいのですが、出力画像は (同じ幅の) バーの数に応じてサイズが変わります。
my_factors = c("vs","cyl","carb")
for (current_factor in my_factors) {
c <- ggplot(mtcars, aes(factor(current_factor)))
c + geom_bar() + coord_flip()
ggsave(paste0(my_factors(current_factor),".png")
}
私は ggplot と R を初めて使用します。私は MATLAB から来たので、「デバイス」全体がまだ私を混乱させています! MATLAB では、バーのサイズを明示的に (相対的にではなく) 指定すると、それに応じて出力のサイズが変更されます。