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.
Example:
pdf(file = \"
To ensure a particular aspect ratio, e.g. for square, use theme(aspect.ratio=1).
Andrie's answer doesn't give the full picture, as the example provides perhaps unnatural data where range of x equals the range of y. If however the data were:
df <- data.frame(
x = runif(100, 0, 50),
y = runif(100, 0, 5))
ggplot(df, aes(x=x, y=y)) + geom_point() + coord_fixed()
then the plot would look like this:

The coord_fixed() function also has an argument to adjust the ratio of axes:
ratioaspect ratio, expressed as y / x
So that the plot could be made square with:
ggplot(df, aes(x=x, y=y)) + geom_point() + coord_fixed(ratio=10)

But you need to adjust this with the limits of the variables or plot area (not all limits are nicely divisible by whole numbers like these examples).