Скажем, мне не нужно "правильное" сопоставление переменных, но все же хотелось бы иметь ключи легенды, чтобы помочь понять диаграмму. Мои фактические данные похожи на следующие 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())
который просто скрывает название двух разных легенд.
Другие идеи более чем приветствуются!!!