我正在尝试为我的图表添加一个图例,但什么都没有显示出来。这是我的代码:
ggplot(main, aes(x = ceiling(session/2))) +
geom_line(aes(y = C_overall), colour = "blue", stat = "summary", fun.y = "mean") +
geom_line(aes(y = I_overall), colour = "red", stat = "summary", fun.y = "mean") +
labs(title = 'Overall Accuracy', x = 'Session', y = 'Percent Accurate') +
facet_wrap(~bird)
这显示了我想要的东西,除了没有传说。我见过的所有东西都说像这样使用scale_colour_manual:
ggplot(main, aes(x = ceiling(session/2))) +
geom_line(aes(y = C_overall), colour = "one", stat = "summary", fun.y = "mean") +
geom_line(aes(y = I_overall), colour = "two", stat = "summary", fun.y = "mean") +
labs(title = 'Overall Accuracy', x = 'Session', y = 'Percent Accurate') +
facet_wrap(~bird) +
scale_colour_manual(name = 'Congruency', values = c("one" = "blue", "two" = "red"))
这似乎适用于其他所有人,但R只是告诉我'一个'是无效的颜色名称。 我已经花了好几个小时研究这个问题,而且我已经无处可去了。
以下是我的一些数据,如果它有用:
bird session C_overall I_overall
23W 1 42.5 42.5
23W 2 46.25 47.5
23W 3 51.25 57.5
23W 4 47.5 52.5
23W 5 47.5 52.5
23W 6 47.5 62.5
23W 7 52.5 52.5
23W 8 50 55
23W 9 51.25 52.5
23W 10 48.75 47.5
43R 1 47.5 42.5
43R 2 43.75 37.5
43R 3 58.75 40
43R 4 51.25 40
43R 5 51.25 52.5
43R 6 36.25 35
43R 7 53.75 40
43R 8 57.5 45
43R 9 61.25 52.5
43R 10 48.75 47.5
57Y 1 45 67.5
57Y 2 53.75 62.5
57Y 3 47.5 65
57Y 4 52.5 52.5
57Y 5 47.5 50
57Y 6 48.75 70
57Y 7 66.25 72.5
57Y 8 55 60
57Y 9 57.5 72.5
57Y 10 58.75 67.5
76B 1 51.25 50
76B 2 56.25 42.5
76B 3 60 60
76B 4 68.75 70
76B 5 73.75 75
76B 6 55 52.5
76B 7 68.75 62.5
76B 8 40 40
76B 9 57.5 55
76B 10 66.25 70
蓝线应为“Congruent”,红线应为“Incongruent”。
任何关于如何制作传奇的帮助都将不胜感激! 在此先感谢!!
答案 0 :(得分:3)
我会在绘图前将数据转换为长格式:
library(reshape2)
main <- melt(main, c("bird", "session"))
ggplot(main, aes(x=ceiling(session/2), y=value, color=variable)) +
geom_line(stat="summary", fun.y="mean", size=1) +
labs(title="Overall Accuracy", x="Session", y="Percent Accurate") +
facet_wrap(~ bird) +
scale_color_discrete("Results", labels=c("Congruent", "Incongruent"))
这会对你有用吗?
答案 1 :(得分:1)
在geom_line
和scale_color_discrete
进行以下更改,您就可以了。
ggplot(main, aes(x = ceiling(session/2))) +
## changes in line below
geom_line(aes(y = C_overall, colour = "Congruent"), stat = "summary", fun.y = "mean") +
## changes in line below
geom_line(aes(y = I_overall, colour = "Incongruent"), stat = "summary", fun.y = "mean") +
labs(title = 'Overall Accuracy', x = 'Session', y = 'Percent Accurate') +
facet_wrap(~bird) +
# changes in line below
scale_color_discrete("Congruency")