Ответ 1
В вашем коде есть несколько запутанных вещей. Кажется, вы используете функцию aes
таким образом, чтобы это не было предназначено. Как и проблема size
, вы получаете несколько легенд, и я думаю, что ggplot запутался в цветах.
Функция aes
используется для сопоставления эстетики с переменными в данных, но вы используете ее для установки эстетики в константу. Кроме того, вы используете функцию aes
, чтобы установить две отдельные эстетики. Даже если вы установили size
в константу, ggplot2 не любит два отдельных (пути и точки) отображения размера. Кроме того, вы делаете то же самое с цветовым отображением.
size
и colour
установлены в постоянные значения, поэтому перемещайте их вне функции aes
. Кроме того, в отношении size
пути в первом графике, вероятно, безопаснее добавить переменную size
в фрейм данных. (Я немного изменил ваши данные, чтобы можно было видеть как точки, так и пути.) И как и ожидалось, одна легенда в первом графике рисуется.
library(ggplot2)
mya <- data.frame(a=1:10, size = seq(10, 1, -1))
ggplot() +
geom_path(data=mya, aes(x=a, y=a, size=size), colour = 2) +
geom_point(data=mya, aes(x=a, y=a), colour = 1, size = 3) +
theme_bw() +
theme(text=element_text(size=11))
ggplot() +
geom_path(data=mya, aes(x=a, y=a), colour = 2, size = 1) +
geom_point(data=mya, aes(x=a, y=a), colour = 1, size = 3) +
theme_bw() +
theme(text=element_text(size=11))