Различные ключи-легенды внутри одной и той же легенды в ggplot2
Допустим, мне не нужно «правильное» отображение переменных, но все же хотелось бы иметь ключи легенды, чтобы помочь пониманию диаграммы. Мои фактические данные похожи на следующую DF
df <- data.frame(id = 1:10, line = rnorm(10), points = rnorm(10))
library(ggplot2)
ggplot(df) +
geom_line(aes(id, line, colour = "line")) +
geom_point(aes(id, points, colour = "points"))
В основном, я хотел бы, чтобы ключ легенды относился кpoints
быть .. просто точка, без линии посередине. Я подошел к этому с этим:
library(reshape2)
df <- melt(df, id.vars="id")
ggplot() +
geom_point(aes(id, value, shape = variable), df[df$variable=="points",]) +
geom_line(aes(id, value, colour = variable), df[df$variable=="line",])
но это определяет две отдельные легенды. Исправление второго кода (и необходимость изменить мои данные) также было бы хорошо, но я бы предпочел способ (если таковой имеется), чтобы вручную изменить любой ключ легенды (и продолжать использовать первый подход). Спасибо!
РЕДАКТИРОВАТЬ :
спасибо @alexwhan, вы освежили мою память о отображении переменных. Тем не менее, самый простой способ, которым я пока пользуюсь, - это все-таки следующее (очень плохой взлом!):
df <- data.frame(id = 1:10, line = rnorm(10), points = rnorm(10))
ggplot(df) +
geom_line(aes(id, line, colour = "line")) +
geom_point(aes(id, points, shape = "points")) +
theme(legend.title=element_blank())
который просто скрывает название двухразные легенды.
Другие идеи более чем приветствуются !!!