使用ggplot添加图例失败

时间:2018-05-24 09:38:35

标签: r plot ggplot2 graph legend

我尝试使用scale_color_manual为我的图表添加图例,但是当我使用它时,如下所示,它只是不存在。要渐变地着色线条(不确定它是否是正确的单词),我使用color =sapply(1/16, hsv, 0.7, 0.7)。修复未出现的图例后,我会将图例中的颜色更改为图形中实际显示的颜色。我尝试在每个show_guide=TRUE的美学中添加stat_summary,但它说这是一种未知的美学。

colnames(my_dataframe) <- c("Group","a1","a2")

(ggplot(data=my_dataframe, aes(x=my_dataframe$Group)) 
  + stat_summary(fun.y = mean, geom = "line", color =sapply(1/16, hsv, 0.7, 0.7), aes(y=my_dataframe$a1)) 
  + stat_summary(fun.y = mean, geom = "line", color =sapply(2/16, hsv, 0.7, 0.7), aes(y=my_dataframe$a2))  
  + xlab("X-Axis") 
  + ylab("Y-Axis")
  + scale_colour_manual(name = 'Trials', 
                        values =c('black'='black','red'='red'), labels = c('1','2'))
  )

更改列名之前的数据框如下所示:

myTable1 <- " 
       5    3  8
       5    3  7
       4.9  2  6   
       4.9  3  5
       4.9  1  4
       2.0  2  5"
Data <- read.table(text=myTable1, header = FALSE)

1 个答案:

答案 0 :(得分:2)

您是否尝试这样做,您必须首先以长格式融合数据以获得所需结果,我在此处使用reshape2包,您也可以使用gather tidyverse这里:

library(reshape2)
dat <- read.table(text=myTable1, header = FALSE)
colnames(dat) <- c("Group","a1","a2")

melt_dat <- melt(dat, "Group") # You have to melt your data into long form so that you can get the legend 

ggplot(data=melt_dat, aes(x=Group,y=value, color=variable)) +
  stat_summary(fun.y = mean, geom = "line") +
  xlab("X-Axis") + 
  ylab("Y-Axis") 

<强>输出

enter image description here