如何一次为所有点设置ggplot alpha(透明度)值

时间:2014-01-23 16:27:42

标签: r ggplot2 alpha

library(data.table)
library(ggpolot2)

numPoints <- 10000
dt <- data.table(a=rnorm(numPoints),b=rnorm(numPoints))

qplot(a,b,data=dt, geom="point", alpha=1)
qplot(a,b,data=dt, geom="point", alpha=0.1)
qplot(a,b,data=dt, geom="point", alpha=0.01)

无论我选择的alpha值如何,结果图表似乎都具有相同的透明度。

如何让点更透明(以便区域中的点密度更清晰可见)?

1 个答案:

答案 0 :(得分:38)

因为...为每个图层传递的其他美学,即您没有设置alpha,所以您将其映射到某个值,然后对所有值都相同。您可以通过如何在情节中获得alpha的图例条目来判断。有两种解决方案:

1)使用I表示这是一种审美;

qplot(a,b,data=dt, geom="point", alpha=I(0.1) )

2)而是使用ggplot并在geom ...

中设置美学
ggplot( dt , aes( a , b ) )+
  geom_point( alpha = 0.1 )

enter image description here 两个调用产生相同的结果。