4

我想将下图中的 x 和 y 轴设置为具有相同的比例距离(即 x 轴上的 0.1 与 y 轴上的 0.1 长度相同)。有什么建议吗?谢谢。

df <-data.frame(x = c(0,0.2,0.5), y = c(0.6,0.7,0.9))

p <-ggplot(df, aes(x, y, ymin=0, ymax=1, xmin=0, xmax=1))

p <- p + geom_point(alpha=2/10, shape=21, fill="blue", colour="black", size=5)

grid.arrange(p, p,ncol=1)

p

在此处输入图像描述

4

2 回答 2

12

你需要使用coord_equal()

df <-data.frame(x = c(0,0.2,0.5), y = c(0.6,0.7,0.9))
p <-ggplot(df, aes(x, y, ymin=0, ymax=1, xmin=0, xmax=1))
p <- p + geom_point(alpha=2/10, shape=21, fill="blue", colour="black", size=5)

p + coord_equal()

在此处输入图像描述

于 2012-08-12T20:05:25.570 回答
1

您需要将图形设备的宽度和高度设置为 height = 2*width

library('ggplot2')
library('gridExtra')
df <-data.frame(x = c(0,0.2,0.5), y = c(0.6,0.7,0.9))

p <-ggplot(df, aes(x, y, ymin=0, ymax=1, xmin=0, xmax=1))

p <- p + geom_point(alpha=2/10, shape=21, fill="blue", colour="black", size=5)

w <- 550
png("test.png", width=w, height=2*w, units="px")

grid.arrange(p, p,ncol=1)

dev.off()

测试.png

于 2012-08-12T20:08:01.327 回答