1

我想使用 ggplot2 在单列的行中刻画三个图,如下图所示。

library(ggplot2)    
df <- data.frame(x=rep(1,3), y=rep(1,3), z=factor(letters[1:3]))
p <- ggplot(df, aes(x, y)) + geom_point() + facet_grid(z ~ .)
p

p.png

这个输出有两个问题。最重要的是,我想控制 x 轴和 y 轴的比例,在这种情况下使它们相同,即单个单元应该在 x 和 y 轴上测量相同的距离。

第二个问题是多面图 y 轴的碰撞标签。解决这个问题的奖励积分,但完全归功于比例/纵横比问题。

4

1 回答 1

2

我想你正在寻找coord_fixed

library(ggplot2)    
df <- data.frame(x=rep(1,3), y=rep(1,3), z=factor(letters[1:3]))
p <- ggplot(df, aes(x, y)) + geom_point() + facet_grid(z ~ .)
p + coord_fixed(ratio=1)

在此处输入图像描述

于 2013-11-01T02:25:11.307 回答