Explore Courses Blog Tutorials Interview Questions
0 votes
in R Programming by (5.3k points)
edited by

I'm trying to resize a plot to fit into my document, but I'm having difficulties getting the plotted diagram do be a square.


pdf(file = "./out.pdf", width = 5, height = 5)

p <- ggplot(mydata, aes(x = col1, y = col2))


aux <-

Although the limits for x and y are the same, the plot in the result isn't square. I guess that R makes the enclosing panel 5x5" but doesn't care about the actual diagram size.

How can I unsquash my diagrams?

1 Answer

0 votes
edited by

To preserve the aspect ratio of your plot In ggplot2 you can add a coord_fixed() layer to the plot. This preserves the aspect ratio of the plot itself, regardless of the shape of the actual bounding box.


df <- data.frame(

  x = runif(100, 0, 5),

  y = runif(100, 0, 5))

ggplot(df, aes(x=x, y=y)) + geom_point() + coord_fixed()


Related questions

Browse Categories