require(reshape2);require(ggplot2)
df <- data.frame(time = 1:10,
x1 = rnorm(10),
x2 = rnorm(10),
x3 = rnorm(10),
y1 = rnorm(10),
y2 = rnorm(10))
df <- melt(df, id = "time")
ggplot(df, aes(x = time, y = value, color = variable, group = variable,
size = variable, linetype = variable)) +
geom_line() +
scale_linetype_manual(values = c(rep(1, 3), 2, 2)) +
scale_size_manual(values = c(rep(.3, 3), 2, 2)) +
scale_color_manual(values = c(rep("grey", 3), "red", "green")) +
theme_minimal()
R: ggplot2 удаление некоторых легенд записей
Этот пример может быть не очень представительным, но, к примеру, представьте себе, работает кучу моделей регрессии, которые по отдельности не важно, но только внести свой вклад в картину. Хотя я хочу подчеркнуть только фактические и усредненные серии фит. Таким образом, в основном переменные x не важны и не должны отображаться в легенде.
Я попытался установить scale_color_discrete(breaks = c("y1", "y2"))
, как предложено в некоторых других сообщениях. Но проблема в том, что вся эстетика уже используется вручную, и попытка установить другую дискретную версию переопределит свойства, которые уже установлены для графика (и испортить всю вещь). Поэтому в идеале - я хотел бы увидеть точно такой же график, но в легенде отображались только y1 и y2.