我对geom_segment的尺寸美感有些麻烦。我想将大小aes设置为固定单位(例如,英寸)以避免缩放问题。
示例:
library(ggplot2)
fakedata <- data.frame(a=c(20, 2),
b=c(30, 4),
c=c(1,2))
ggplot(fakedata, aes(x=a, y=c)) +
geom_segment(aes(x=a, xend=b,
y=as.numeric(c), yend=as.numeric(c)),
size=100, color="black", alpha=.4) +
geom_hline(aes(yintercept=1.5), color="yellow") +
geom_hline(aes(yintercept=2.5), color="yellow") +
geom_hline(aes(yintercept=0.5), color="yellow")
我放了一些黄线来说明缩放问题。
PNG输出500x500px:
PNG输出400x400px:
正如我们在图片中看到的那样,黄色标记位于预期位置,但灰色框在第二张图片中具有不同的大小。
注意:对于这个小例子,有一个使用geom_rect的可能解决方案。但是在实际(和更大)问题中,我们不能再使用geom_rect,因此固定大小的geom_segment可能有所帮助。