Marthews, Toby R.
2021-Feb-11 16:55 UTC
[Rd] Request for a crop option on R's standard plot context menu
Dear R Dev, I hope you don't mind a request for a feature from a long-time R user (happily using R since 2005). I use R for lots of plotting for my work, e.g. for my current project I have a script that generates 300 plots. I generally copy these all as bitmaps and put them directly into a Word document for my report (see e.g. attached screenshot). I am always required to maximise the plots to get the best resolution, but that always means I get lots of white space when I copy the plot into Word. Cropping them takes a reasonable amount of time (e.g. an entire day to crop all 300 for this project). I'm wondering whether it would be possible to have an option added to the plot window context menu for "Cropped bitmap" or "Crop whitespace"? I think this would be VERY useful because all the online tools I've seen for batch-cropping a set of images require the same crop to be applied to all images (e.g. https://www.youtube.com/watch?v=icbpS0OH9a0 ) and that's not the case for my plots (some of my plots are panel plots, some simpler plots). I know it's a bit cheeky to ask for something that I have no idea how to code up myself: I am just hoping that this feedback might go somewhere useful. R can really do 99% of things kind of perfectly so it seems churlish to point out the 1%, but if this is an easy thing to add in then at least I would use it pretty much every project I work on! Many thanks and best regards, Best regards, Toby PS. I know I could modify my script so that it creates windows of exactly the right size (dev.new), but doing that would mean I would have to recalculate the sizes if I changed anything on the plots at all (e.g. aspect, x label) so I would lose probably more time pursuing that option. Also, I've found that using lots of dev.new commands makes it difficult for colleagues who use RStudio to use my scripts. I am also aware I could export these images as pdfs, but then I would have to open 300 pdfs, extract the images and crop them all in 3rd party software. Again, perfectly possible but I am searching for a slightly quicker solution (!). Dr Toby Marthews UKCEH Band 6 Researcher in Global Surface Science (Hydro-Climate Risks) Mob: +44 753 2168305, web: www.tobymarthews.com<http://www.tobymarthews.com> This email and any attachments are intended solely for the named recipients and are confidential. If you are not the intended recipient please reply to the email to highlight the error and delete this email from your system; you must not use, disclose, copy or distribute this email or any of its attachments. UKCEH has taken every reasonable precaution to minimise risk of this email or any attachments containing viruses or malware but the recipient should carry out its own virus and malware checks before opening the attachments. UKCEH does not accept any liability for any losses or damages which the recipient may sustain due to presence of any viruses. Opinions, conclusions or other information in this message and attachments that are not related directly to UKCEH business are solely those of the author and do not represent the views of UKCEH. We process your personal data in accordance with our Privacy Notice, available on the UKCEH website. https://www.ceh.ac.uk/privacy-notice -------------- next part -------------- A non-text attachment was scrubbed... Name: Plot context menu.png Type: image/png Size: 100320 bytes Desc: Plot context menu.png URL: <https://stat.ethz.ch/pipermail/r-devel/attachments/20210211/eee7ee24/attachment.png>
Simon Urbanek
2021-Feb-12 20:32 UTC
[Rd] Request for a crop option on R's standard plot context menu
Toby,
R provides more convenient ways for this - using window devices for any output
other than screen is not its intended function. I would recommend using the
off-screen devices devices such as pdf() or png() to generate output which also
gives you far more control. Also please note that the amount of margins you
include in the plots is entirely up to you, it should not be necessary to crop
anything after the fact if you set mar/oma to the desired values.
That said, it is just a simple one-liner
"magick::image_trim('foo.png')" to trim an image if you want
to go that route.
Cheers,
Simon
> On Feb 12, 2021, at 5:55 AM, Marthews, Toby R. via R-devel <r-devel at
r-project.org> wrote:
>
> Dear R Dev,
>
> I hope you don't mind a request for a feature from a long-time R user
(happily using R since 2005).
>
> I use R for lots of plotting for my work, e.g. for my current project I
have a script that generates 300 plots. I generally copy these all as bitmaps
and put them directly into a Word document for my report (see e.g. attached
screenshot).
>
> I am always required to maximise the plots to get the best resolution, but
that always means I get lots of white space when I copy the plot into Word.
Cropping them takes a reasonable amount of time (e.g. an entire day to crop all
300 for this project).
>
> I'm wondering whether it would be possible to have an option added to
the plot window context menu for "Cropped bitmap" or "Crop
whitespace"? I think this would be VERY useful because all the online tools
I've seen for batch-cropping a set of images require the same crop to be
applied to all images (e.g. https://www.youtube.com/watch?v=icbpS0OH9a0 ) and
that's not the case for my plots (some of my plots are panel plots, some
simpler plots).
>
> I know it's a bit cheeky to ask for something that I have no idea how
to code up myself: I am just hoping that this feedback might go somewhere
useful. R can really do 99% of things kind of perfectly so it seems churlish to
point out the 1%, but if this is an easy thing to add in then at least I would
use it pretty much every project I work on!
>
> Many thanks and best regards,
>
> Best regards,
>
> Toby
>
> PS. I know I could modify my script so that it creates windows of exactly
the right size (dev.new), but doing that would mean I would have to recalculate
the sizes if I changed anything on the plots at all (e.g. aspect, x label) so I
would lose probably more time pursuing that option. Also, I've found that
using lots of dev.new commands makes it difficult for colleagues who use RStudio
to use my scripts.
> I am also aware I could export these images as pdfs, but then I would
have to open 300 pdfs, extract the images and crop them all in 3rd party
software. Again, perfectly possible but I am searching for a slightly quicker
solution (!).
>
>
> Dr Toby Marthews
>
> UKCEH Band 6 Researcher in Global Surface Science (Hydro-Climate Risks)
>
> Mob: +44 753 2168305, web:
www.tobymarthews.com<http://www.tobymarthews.com>
>
>
>
> This email and any attachments are intended solely for the named recipients
and are confidential. If you are not the intended recipient please reply to the
email to highlight the error and delete this email from your system; you must
not use, disclose, copy or distribute this email or any of its attachments.
UKCEH has taken every reasonable precaution to minimise risk of this email or
any attachments containing viruses or malware but the recipient should carry out
its own virus and malware checks before opening the attachments. UKCEH does not
accept any liability for any losses or damages which the recipient may sustain
due to presence of any viruses. Opinions, conclusions or other information in
this message and attachments that are not related directly to UKCEH business are
solely those of the author and do not represent the views of UKCEH. We process
your personal data in accordance with our Privacy Notice, available on the UKCEH
website.
> https://www.ceh.ac.uk/privacy-notice
> <Plot context menu.png>______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
[[alternative HTML version deleted]]