ggsave() with width only
Dear Adam, The function cowplot::save_plot() actually doesn't help in my case because I need to know the aspect ratio (which I don't in advance). If I knew the aspect ratio, I could calculate the height from the width or vice-versa, and then I could use ggplot2::ggsave(). I have found a workaround using the package patchwork: I put the plots together into one plot, that I save on an A4 page. Best, Ivan -- Dr. Ivan Calandra Imaging lab RGZM - MONREPOS Archaeological Research Centre Schloss Monrepos 56567 Neuwied, Germany +49 (0) 2631 9772-243 https://www.researchgate.net/profile/Ivan_Calandra
On 14/09/2021 9:17, Ivan Calandra wrote:
Thank you Adam! I'm a bit surprised that an extra package is needed for this, but why not! Best, Ivan -- Dr. Ivan Calandra Imaging lab RGZM - MONREPOS Archaeological Research Centre Schloss Monrepos 56567 Neuwied, Germany +49 (0) 2631 9772-243 https://www.researchgate.net/profile/Ivan_Calandra On 13/09/2021 15:40, Adam Wysoki?ski wrote:
Hi,
Instead of ggsave(), use save_plot() from the "cowplot" package:
library(ggplot2)
library(cowplot)
x <- 1:10
y <- x^2
df <- data.frame(x, y)
p <- ggplot(df, aes(x, y)) + geom_point()
save_plot("/tmp/plot.png", p, base_aspect_ratio = 1, base_width = 5,
base_height = NULL)