Alpha与传奇之间奇怪的互动

时间:2015-07-10 01:35:31

标签: r ggplot2

在绘制几条重叠的ecdf曲线时,我尝试调整曲线的alpha值以提高可见度。在修补alpha的正确位置时,我发现了以下内容。

library(ggplot2)
library(dplyr)

x <- data.frame(Var = rep(1:3, 10000)) %>%
  mutate(Val = rnorm(10000)*Var,
         Var = factor(Var)) %>%
  arrange(Var, Val) %>%
  group_by(Var) %>%
  mutate(ecdf = ecdf(Val)(Val))

ggplot(x, aes(x=Val)) + 
  stat_ecdf(aes(color = Var), size = 1.25, alpha = .9)

这使得线条具有正确的alpha值,但使图例变得毫无用处。 (我这里只使用alpha = .9来证明图例颜色完全消失的点)。我发现的工作是添加:

ggplot(x, aes(x=Val)) + 
  stat_ecdf(aes(color = Var), size = 1.35, alpha = .9) +
  guides(color = guide_legend(override.aes= list(alpha = 1)))

因此,虽然我有一个解决我的直接问题的解决方案,有人可以解释为什么第一次调用ggplot搞砸了吗?这是一个错误吗?如果它有任何区别,我相信在使用geom_line时也存在这个问题(尽管需要稍微不同的data.frame)。

奇怪。这是我的sessionInfo()。我还检查了是否有任何过时的包裹。

sessionInfo()
R version 3.2.1 (2015-06-18)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=Japanese_Japan.932  LC_CTYPE=Japanese_Japan.932  LC_MONETARY=Japanese_Japan.932
[4] LC_NUMERIC=C                   LC_TIME=Japanese_Japan.932    

attached base packages:
[1] splines   stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] RColorBrewer_1.1-2 ggplot2_1.0.1      stringr_1.0.0      tidyr_0.2.0        dplyr_0.4.2       
[6] data.table_1.9.4  

loaded via a namespace (and not attached):
[1] Rcpp_0.11.6      magrittr_1.5     MASS_7.3-40      munsell_0.4.2    colorspace_1.2-6
[6] R6_2.0.1         plyr_1.8.3       tools_3.2.1      parallel_3.2.1   grid_3.2.1      
[11] gtable_0.1.2     DBI_0.3.1        lazyeval_0.1.10  assertthat_0.1   digest_0.6.8    
[16] reshape2_1.4.1   labeling_0.3     stringi_0.5-4    scales_0.2.5     chron_2.3-47    
[21] proto_0.3-10  

1 个答案:

答案 0 :(得分:3)

他们有什么不同?我错过了什么?

{{1}}

enter image description here