我有一个如下所示的数据框:
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为line:
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))
}
该脚本生成此图:
如何更改图例中的标签并将“范围”替换为顶部粗体字符串,而使用“中位数”而不是底部标签?
答案 0 :(得分:7)
你可以通过添加这个来做到这一点:
+ 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())