Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.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 向ggplot图例添加自制因子级别_R_Ggplot2 - Fatal编程技术网

R 向ggplot图例添加自制因子级别

R 向ggplot图例添加自制因子级别,r,ggplot2,R,Ggplot2,我有以下类型的数据: df <- data.frame(A=runif(100), B=rep(seq(1,50), each=2), C=factor(c(rep(c("X1", "X2"), 50)))) 我想在图例中添加这个新的自制因子(X1+X2)。有没有办法做到这一点?您可以尝试: ggplot(df, aes(B,A)) + geom_point(aes(col=C)) + stat_smooth

我有以下类型的数据:

df <- data.frame(A=runif(100), 
                 B=rep(seq(1,50), each=2), 
                 C=factor(c(rep(c("X1", "X2"), 50))))
我想在图例中添加这个新的自制因子(X1+X2)。有没有办法做到这一点?

您可以尝试:

ggplot(df, aes(B,A)) +
  geom_point(aes(col=C)) +
  stat_smooth(aes(col=C)) +

  scale_colour_manual(name="Line Color",
                      values=c(X1="red", X2="blue", "X1-X2"="black"),
                      limits = c("X1","X2","X1-X2")) +
  stat_smooth(col = "black")

我现在找到了一个解决方案,包括绘制辅助图,从中提取图例,然后用cowplot软件包中的plot_网格进行排列。但是有没有更直接的方法呢?
p1 + stat_smooth(col="black")
ggplot(df, aes(B,A)) +
  geom_point(aes(col=C)) +
  stat_smooth(aes(col=C)) +

  scale_colour_manual(name="Line Color",
                      values=c(X1="red", X2="blue", "X1-X2"="black"),
                      limits = c("X1","X2","X1-X2")) +
  stat_smooth(col = "black")