R 在ggplot中编辑图例标签

R 在ggplot中编辑图例标签,r,formatting,plot,ggplot2,legend,R,Formatting,Plot,Ggplot2,Legend,我有一个如下所示的数据帧: data median min max no_of_threads 2.33 2.10 6.85 1 2.43 2.14 3.41 2 2.39 2.13 7.90 3 2.74 2.10 8.30 4 2.53 2.21 6.69 5 我制作了这个R函数,它将数据$min和数据$max绘制为范围,将数据$median绘制为直线

我有一个如下所示的数据帧:

data
    median  min max no_of_threads
    2.33    2.10    6.85    1
    2.43    2.14    3.41    2
    2.39    2.13    7.90    3
    2.74    2.10    8.30    4
    2.53    2.21    6.69    5
我制作了这个R函数,它将数据$min和数据$max绘制为范围,将数据$median绘制为直线:

scalability_graph <- function(data){ 
  h <- ggplot(data)
  h <- h + 
      geom_ribbon(aes(x = no_of_threads, ymin = min, ymax = max)) +
      geom_line(aes(x = no_of_threads, y=median, color="#CC873D")) +
      scale_x_continuous("Number of threads", lim=c(0,20)) +
      scale_y_continuous("Response time", lim=c(0,13)) +
      opts(legend.position=c(0.20,0.90))
}

scalability\u graph您可以通过添加以下内容来实现:

 + scale_colour_manual("range", labels = "median", values = "#CC873D", breaks = "#CC873D") 

但是你的情节和传说应该是这样的

h <- ggplot(data, aes(no_of_threads, median)) +
  geom_ribbon(aes(ymin = min, ymax = max, fill = factor(1))) +
  geom_line(aes(color=factor(1))) +
  scale_x_continuous("Number of threads", lim=c(0,20)) +
  scale_y_continuous("Response time", lim=c(0,13)) +
  scale_fill_manual(breaks = 1, values = "grey20", labels = "range") + 
  scale_colour_manual(breaks = 1, values = "#CC873D", labels = "median") +
  opts(legend.position=c(0.20,0.85), legend.title = theme_blank(), legend.background = theme_blank())
h