ONKELINX, Thierry <Thierry.ONKELINX <at> inbo.be> writes: > > I'm plotting some points on a graph where both axes need to have the > same scale. See the example below. Coord_equal does that trick but in > this case it wastes a lot of space on the y-axis. Setting the limits of > the y-axis myself was no avail. > > Any suggestions to solve this problem? > > library(ggplot2) > ds <- data.frame(x = runif(1000, min = 0, max = 300000), y = runif(1000, > min = 140000, max = 260000)) > ggplot(ds, aes(x = x, y = y)) + geom_point() + coord_equal() > ggplot(ds, aes(x = x, y = y)) + geom_point() + coord_equal() + > scale_x_continuous(limits = c(0, 300000)) + scale_y_continuous(limits = > c(140000, 260000))
I think you need to set ratio in addition to cut off the extra space. (Not tried) >From Docs: Equal scales. coord_equal ensures that the x and y axes have equal scales: i.e. 1 cm along the x axis represents the same range of data as 1 cm along the y axis. By default it will assume that you want a one-to-one ratio, but you can change this with the ratio parameter. The aspect ratio will also be set to ensure that the mapping is maintained regardless of the shape of the output device. See the documentation of coord_equal() for more details. Dieter ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.