R:ggplot2删除一些图例条目

时间:2016-02-19 22:31:51

标签: r ggplot2

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()

ggplot2 img

这个例子可能不是很有代表性,但是,例如,想象一下运行一堆回归模型,这些回归模型各自不重要但只是对图片做出贡献。虽然我只想强调实际和平均的拟合系列。所以基本上变量x并不重要,不应出现在图例中。

我尝试按其他帖子中的建议设置scale_color_discrete(breaks = c("y1", "y2"))。但问题是所有的美学都已经通过手动使用,并且尝试设置另一个离散版本将覆盖已经为图形设置的属性(并搞乱整个事物)。理想情况下 - 我想看到完全相同的图形,但只有y1和y2显示在图例中。

1 个答案:

答案 0 :(得分:1)

您可以尝试按变量名称对数据集进行子集化,并单独绘制它们。

mt_rand(1000000000, 9999999999);

enter image description here