如何在geom_segment中设置固定单位以适应美学?

时间:2017-05-10 19:11:18

标签: r ggplot2

我对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 500x500px

PNG输出400x400px:

png 400x400px

正如我们在图片中看到的那样,黄色标记位于预期位置,但灰色框在第二张图片中具有不同的大小。

注意:对于这个小例子,有一个使用geom_rect的可能解决方案。但是在实际(和更大)问题中,我们不能再使用geom_rect,因此固定大小的geom_segment可能有所帮助。

0 个答案:

没有答案