Как установить значение ggplot 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)

Независимо от значения альфа, которое я выбираю, результирующая диаграмма, похоже, имеет такое же количество прозрачности.

Как я могу получить очки более прозрачными (так, чтобы плотность точек в области была более четко видна)?

Ответы

Ответ 1

Поскольку ... другая эстетика передается для каждого слоя, т.е. Вы не устанавливаете 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 Оба вызова дают одинаковый результат.