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)
>>