Я генерирую несколько гистограмм в цикле, и все они меняют размер в соответствии с размером вывода (предположим, исходя из размера графика / устройства?), А не в соответствии с размером столбца. Это означает, что графики с двумя полосами имеют жирные полосы, а графики, скажем, с 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 я бы указал размер полосы явно (т.е. не относительно), и размер вывода изменился бы соответствующим образом.