没有出现geom_line图例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了没有出现geom_line图例相关的知识,希望对你有一定的参考价值。
我有数据。
No. s1 s2 s3 s4
1 0.52 0.25 0.03 0.12
2 0.32 0.45 0.12 0.98
3 0.46 0.48 0.52 0.82
4 0.25 0.47 0.24 0.5
5 0.09 0.53 0.85 0.41
6 0.98 0.02 0.72 0.35
7 0.54 0.91 0.63 0.65
我已经绘制了图表,但ggplot不显示图例。你有什么想法,我可以把它?
代码。
ggplot(data=file1, aes(x = No.)) +
geom_line(aes(y = s1), colour="red",size=1)+
geom_line(aes(y = s2), colour="firebrick", size=1, alpha=.2)+
geom_line(aes(y = s3), colour="orange", size=1, alpha=.2)+
geom_line(aes(y = s4), colour="darkolivegreen", size=1)+
xlab("Number")+ylab("length")+
theme(legend.position="bottom")+
scale_x_discrete(limits=c("s1", "s2", "s3", "s4"))+
scale_fill_discrete(name = "Dose", labels = c("group1", "group2", "group3", "group4"))
我也试过重新调整我的数据,像下面这样。
No. Data group
1 0.52 1
2 0.32 1
3 0.46 1
4 0.25 1
5 0.09 1
.. ... ...
26 0.41 4
27 0.35 4
28 0.65 4
用下面的代码,它带来了图例,但颜色深浅不一。
ggplot(file1, aes(x=No., colour=group))+
geom_line(aes(y=Data))
谢谢您
答案
你在分配色彩美学时犯了一个错误。
ggplot(file1, aes(x=No., colour=group) )+
geom_line(aes(y=Data))
另一答案
从你的数据入手,用的是长表。 只是在使用 scale_colour_manual( )
函数来为图表添加适当的颜色。
data<-structure(list(No. = c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 3L, 3L,
3L, 3L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 7L, 7L,
7L, 7L), group = c("s1", "s2", "s3", "s4", "s1", "s2", "s3",
"s4", "s1", "s2", "s3", "s4", "s1", "s2", "s3", "s4", "s1", "s2",
"s3", "s4", "s1", "s2", "s3", "s4", "s1", "s2", "s3", "s4"),
Data = c(0.52, 0.25, 0.03, 0.12, 0.32, 0.45, 0.12, 0.98,
0.46, 0.48, 0.52, 0.82, 0.25, 0.47, 0.24, 0.5, 0.09, 0.53,
0.85, 0.41, 0.98, 0.02, 0.72, 0.35, 0.54, 0.91, 0.63, 0.65
)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, -28L))
labels <- c("group1", "group2", "group3", "group4")
title<-"Legend"
ggplot(data, aes(x=No., y=Data, colour=group, alpha=group, size=group))+
geom_line() +
xlab("Number")+ylab("length")+
theme(legend.position="bottom")+
scale_colour_manual(values=c("s1" = "red", "s2"= "firebrick", s3="orange", s4="darkolivegreen"), labels = labels) +
scale_alpha_manual(values=c(1,0.4,0.4,1), labels = labels)+
scale_size_manual(values=c(4,1,1,4), labels = labels) +
guides(colour = guide_legend(title = title),
alpha = guide_legend(title = title),
size = guide_legend(title = title))
以上是关于没有出现geom_line图例的主要内容,如果未能解决你的问题,请参考以下文章