Diferencia entre las opciones de aprobación en aes () y fuera de ella en ggplot2

Después de jugar con las opciones de tamaño de punto en ggplot2, noté ejemplos en los que el tamaño se pasa tanto dentro como fuera del parámetro aes() de geom_point() . Desde la página `geom_point () en el sitio de Hadley :

 p <- ggplot(mtcars, aes(wt, mpg)) # passed inside p + geom_point(aes(size = qsec)) p + geom_point(aes(size = qsec)) + scale_area() # passed outside p + geom_point(colour = "red", size = 3) p + geom_point(colour = "grey50", size = 4) 

He encontrado que estos se comportan de manera diferente cuando se trata de leyendas. Al pasar dentro de aes() puedo hacer que aparezca una leyenda, aunque necesito establecer descansos aunque solo tengo dos puntos de diferentes tamaños; de lo contrario, obtengo un rango de cinco puntos aunque solo se usan 2.

Además, los tamaños pasados ​​no son comprensiblemente significativos; Necesito especificar el tamaño relativo utilizando range=c(min,max) y establecer breaks en solo dos tamaños en lugar de los cinco predeterminados.

Si paso el tamaño fuera de aes() , los tamaños parecen ser respetados, pero no puedo obtener una leyenda en mi argumento; Intenté scale_size , scale_size_continuous y scale_size_manual sin éxito.

Desde la página geom_point() hay esto:

La siguiente estética se puede usar con geom_point. La estética se correlaciona con variables en los datos con la función aes: geom_point(aes(x = var))

Las escalas controlan cómo se asigna la variable a la estética y se enumeran después de cada estética.

[Listado de todas las opciones estéticas aquí (forma, color, tamaño, etc.)]

A partir de eso, todavía no está del todo claro cómo las opciones (tamaño en esta pregunta, pero esto debería ser significativo para otras estéticas) dentro y fuera de aes() afectan el resultado.

Cuando se especifica dentro de aes , se asigna una estética al valor de una variable en los datos. Como hay un mapeo entre los datos y la estética visible, hay una leyenda que muestra ese mapeo. Fuera de una llamada aes , la estética solo se establece en un valor específico. En los ejemplos que muestra, el tamaño (y el color) se establecen en el mismo valor para todos los puntos. En este caso, no hay necesidad de una leyenda porque el tamaño (o color) no conlleva ningún significado (con respecto a los datos subyacentes).

El problema que está viendo con la leyenda se debe al tamaño que se asigna a una variable continua. Sucede que solo hay dos valores que esta variable toma en sus datos, pero en principio, una variable continua podría tomar cualquier valor. Si realmente es solo una variable de elección de dos, conviértalo en un factor (ya sea en los datos originales o en los aes(size=factor(qsec)) llamada estética aes(size=factor(qsec)) .