If you want to make the distance scale points the same, then use coord_fixed():
p <- ggplot(...)
p <- p + coord_fixed() # ratio parameter defaults to 1 i.e. y / x = 1
If you want to ensure that the resulting plot is square then you would also need to specify the x and y limits to be the same (or at least have the same range). xlim
and ylim
are both arguments to coord_fixed
. So you could do this manually using those arguments. Or you could use a function to extract out limits from the data.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…