Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R ggplot2无法将图例添加到图表中_R_Ggplot2_Legend - Fatal编程技术网

R ggplot2无法将图例添加到图表中

R ggplot2无法将图例添加到图表中,r,ggplot2,legend,R,Ggplot2,Legend,我正在使用visual studio的R版本3.5.1,我试图将图例绘制到图形中 f1 = function(x) { return(x+1)} x1 = seq(0, 1, by = 0.01) data1 = data.frame(x1 = x1, f1 = f1(x1), F1 = cumtrapz(x1, f1(x1)) ) 然而,当我试图策划它,它从来没有给我一个传奇! 例如,我在这个()中使用了相同的代码 我还调查了( )和stackoverflo中的许多其他网

我正在使用visual studio的R版本3.5.1,我试图将图例绘制到图形中

 f1 = function(x) {
     return(x+1)}

 x1 = seq(0, 1, by = 0.01)

 data1 = data.frame(x1 = x1, f1 = f1(x1), F1 = cumtrapz(x1, f1(x1)) )
然而,当我试图策划它,它从来没有给我一个传奇! 例如,我在这个()中使用了相同的代码

我还调查了( )和stackoverflo中的许多其他网站,我已经尝试了中的每一个功能

i、 e

我甚至尝试使用原始的plot()和legend()函数。两者都不起作用

我认为数据帧可能有问题,但我将它们(x2,f1,f1)分开,它仍然不起作用

我原以为IDE可能有问题,但kohske给出的代码实际上是一个传奇

 d<-data.frame(x=1:5, y1=1:5, y2=2:6)
 ggplot(d, aes(x)) + 
   geom_line(aes(y=y1, colour="1")) + 
   geom_line(aes(y=y2, colour="2")) +
   scale_colour_manual(values=c("red", "blue"))

据我所知,你的美学中只有X和Y变量。因此,不需要传奇。您有
xlab
ylab
来描述您的两行代码。如果希望有图例,则应将分组放入美学中,这可能需要重新编码数据集

d<- data.frame(x=c(1:5, 1:5), y=c(1:5, 2:6), colorGroup = c(rep("redGroup", 5), 
rep("blueGroup", 5)))
ggplot(d, aes(x, y, color = colorGroup )) + geom_line()

d您使用的
ggplot2
方法错误:将其从宽格式转换为长格式,并在
aes
中使用变量。类似这样:
ggplot(重塑2::melt(数据,“x1”),aes(x1,value,color=V1))+geom_line()
@波吉巴斯你什么意思?我尝试了melt(data1,id=“x2”),而cih R说它找不到函数melt,我刚刚输入了ggplot(restrape2::melt(data1,x1),aes(x1,value,color=c(“蓝色”,“红色”)),这也是错误的
melt
来自包
restrape2
@PoGibas谢谢,但我安装了它。install.packages(“reforme2”)(并检查为成功),然后库(reforme2)返回一条错误消息。重塑到底在做什么,我是说为什么要用它?为什么kohske的代码有效但不介意?我的意思是,我在他的代码中替换了d,那么就没有图例了。请看附件中的问题,他们和你有类似的问题。很抱歉,我不知道为什么
restrape2
不起作用,但它与原始问题无关。我有$x$、$f1$和$f1$三个变量,我绘制了$f1$和$f1$,分别是您在问题底部输入的可复制示例中我使用的$x1$。无法为您进行编程:)正如@PoGibas所写的,将其与重塑融为一体,以获得相同的结果。
 d<-data.frame(x=1:5, y1=1:5, y2=2:6)
 ggplot(d, aes(x)) + 
   geom_line(aes(y=y1, colour="1")) + 
   geom_line(aes(y=y2, colour="2")) +
   scale_colour_manual(values=c("red", "blue"))
d<- data.frame(x=c(1:5, 1:5), y=c(1:5, 2:6), colorGroup = c(rep("redGroup", 5), 
rep("blueGroup", 5)))
ggplot(d, aes(x, y, color = colorGroup )) + geom_line()