DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • Harmonizing Space, Time, and Semantics: Navigating the Complexity of Geo-Distributed IoT Databases
  • Tips and Tricks for Efficient Coding in R
  • How to Get a Non-Programmer Started with R
  • Python vs. R: A Comparison of Machine Learning in the Medical Industry

Trending

  • I Built a VS Code Extension to Debug Azure AI Foundry Agents Without Leaving My Editor
  • The Hidden Cost of AI-Generated Frontend Code
  • Metal Default, a New Build Cloud, and a New Format
  • Engineering Closed-Loop Graph-RAG Systems, Part 2: From Prompts to Rules
  1. DZone
  2. Coding
  3. Languages
  4. Removing White Space Around R Figures

Removing White Space Around R Figures

By 
Rob J Hyndman user avatar
Rob J Hyndman
·
Feb. 24, 13 · Interview
Likes (0)
Comment
Save
Tweet
Share
7.5K Views

Join the DZone community and get the full member experience.

Join For Free

When I want to insert fig­ures gen­er­ated in R into a LaTeX doc­u­ment, it looks bet­ter if I first remove the white space around the fig­ure. Unfor­tu­nately, R does not make this easy as the graphs are gen­er­ated to look good on a screen, not in a document.

There are two things that can be done to fix this problem.

First, you can reduce the white space gen­er­ated by R. I use the fol­low­ing func­tion when sav­ing fig­ures in R.

savepdf <- function(file, width=16, height=10)
{
  fname <- paste("figures/",file,".pdf",sep="")
  pdf(fname, width=width/2.54, height=height/2.54,
      pointsize=10)
  par(mgp=c(2.2,0.45,0), tcl=-0.4, mar=c(3.3,3.6,1.1,1.1))
}

The width and height are in cen­time­tres. The ratio is about right for a beamer pre­sen­ta­tion, and also to fit two fig­ures on an A4 page.

Then I use the commands

savepdf("filename")
# Plotting commands here
dev.off()

That will gen­er­ate a pdf fig­ure of about the right size and shape for a doc­u­ment, and with nar­row mar­gins of white space, and save it in my fig­ures sub-​​directory.

The sec­ond trick is to trim the pdf files so there is no white space left. On a unix sys­tem, this is eas­ily achieved as follows.

pdfcrop filename.pdf filename.pdf

There are prob­a­bly win­dows and mac ver­sions of the same, but I haven’t used them. Adobe Acro­bat will also crop pdfs, but not from the com­mand line as far as I know.

To apply pdfcrop to every file in a direc­tory (using unix), save the fol­low­ing to a file called cropall.sh:

#!/bin/bash
 
for FILE in ./*.pdf; do
  pdfcrop "${FILE}" "${FILE}"
done

Make the file exe­cutable and run it.

In my post on Make­files, I explain how to include pdfcrop within a Makefile.

If you just use pdfcrop with­out first reduc­ing the white space in R, the pro­por­tions come out a lit­tle odd. So I tend to use both approaches together.

R (programming language) Space (architecture)

Published at DZone with permission of Rob J Hyndman. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Harmonizing Space, Time, and Semantics: Navigating the Complexity of Geo-Distributed IoT Databases
  • Tips and Tricks for Efficient Coding in R
  • How to Get a Non-Programmer Started with R
  • Python vs. R: A Comparison of Machine Learning in the Medical Industry

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook