r - ggplot 中图例的自定义分组

标签 r ggplot2

在 R 中,我试图创建一个自定义折线图,其中所有线条都显示在图表上,但图表的图例被自定义为仅显示两件事。

现在我的代码:

x = data.frame(runif(20),runif(20)*2,runif(20)*3)
names(x) = c("Run 1", "Run 2", "Run 3")
x$Avg = apply(x, 1, mean)
x$Step = row.names(x)
df = melt(x, id=c("Step"))
ggplot(df, aes(x=Step, y=value, group=variable, color=variable)) +
  geom_line()

结果:

enter image description here

我想让图表显示所有 4 条线(运行 1、2、3 和平均值),但对于图例,我希望它显示为“Avg”和“Individual Runs”,其中“Avg”是任意的我选择的颜色,每个“个人运行”都是灰色或一些中性色。这样,当我进行大量运行时,我可以直观地看到数据,但图例不会从屏幕上消失。我该如何实现?

最佳答案

我们可以使用 subset 函数,并使用对 geom_line 的两次不同调用来指定颜色:

ggplot()+
    geom_line(data = subset(df, variable != 'Avg'),
              aes(x = Step, y = value, group = variable, colour = 'Individual Runs'))+
    geom_line(data = subset(df, variable == 'Avg'),
              aes(x = Step, y = value, colour = 'Avg', group = variable))+
    scale_colour_manual(values = c('Avg' = 'red', 'Individual Runs' = 'grey'))

enter image description here

关于r - ggplot 中图例的自定义分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44915362/

相关文章:

r - rollapply() 是否允许调用函数的结果数组?

r - 如何在 RMarkdown 中隐藏代码,并可选择查看

r - 多面ggplot的不同图例和填充颜色?

r - 为什么ggplot的geom_bar中需要stat = "identity"?

r - 沿x轴按组划分geom_point点

R- Stat_compare_means 不适合 ggplot?

r - 使用颜色和线型美学属性控制绘图的图例标签

r - 使用自适应窗口长度计算 data.table 中的滚动平均值

r - 单元格大于零或无穷大

css - 我如何找到我 Shiny 的应用程序的现有 css?