Разница между параметрами передачи в aes () и вне ее в ggplot2

После работы с параметрами размера точки в ggplot2 я заметил примеры, в которых размер передавался как внутри, так и внеaes() параметрgeom_point(), ОтСтраница geom_point () на сайте Хэдли:

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)

Я обнаружил, что они ведут себя по-разному, когда дело доходит до легенд. При прохождении внутриaes() Я могу заставить легенду появляться, хотя мне нужно устанавливать разрывы, даже если у меня есть только две точки разного размера; в противном случае я получаю диапазон из пяти пунктов, хотя используются только 2.

Кроме того, передаваемые размеры не являются понятными; Мне нужно указать относительный размер, используяrange=c(min,max) и установите разрывы только на два размера вместо пяти по умолчанию.

Если я передам размер за пределамиaes()размеры кажутся честными, но я не могу получить легенду на своем сюжете; Я старалсяscale_size, scale_size_continuous, а такжеscale_size_manual безуспешно.

Отgeom_point() на этой странице:

The following aesthetics can be used with geom_point. Aesthetics are mapped to variables in the data with the aes function: geom_point(aes(x = var))

...

Scales control how the variable is mapped to the aesthetic and are listed after each aesthetic.

[Listing of all the aesthetic options here (shape, colour, size, etc.)]

Исходя из этого, до сих пор не совсем ясно, как варианты (размер в этом вопросе, но это должно иметь значение для другой эстетики) внутри и снаружи.aes() повлиять на результат.

Ответы на вопрос(1)

Ваш ответ на вопрос