ggplot2:如何将换行符添加到水平图例 请考虑下面的R脚本(采取并稍加修改):

ggplot2:如何将换行符添加到水平图例 请考虑下面的R脚本(采取并稍加修改):,r,ggplot2,legend,R,Ggplot2,Legend,正如我所建议的那样,但这对我不起作用。该建议基本上显示了线性和多项式模型的数据和图例,完全隐藏了对数和指数模型 如所述 您需要指定哪个图例,在本例中是颜色图例:guides(color=guides\u图例(ncol=2,nrow=2,byrow=TRUE))。 为了澄清,美学定义了每行的颜色。如果使用了fill,则该行可以是guides(fill=guides\u图例(ncol=2,nrow=2,byrow=TRUE))您需要指定哪个图例,在这种情况下,颜色图例:引导(color=guides

正如我所建议的那样,但这对我不起作用。该建议基本上显示了线性和多项式模型的数据和图例,完全隐藏了对数和指数模型

如所述


您需要指定哪个图例,在本例中是颜色图例:
guides(color=guides\u图例(ncol=2,nrow=2,byrow=TRUE))。


为了澄清,美学定义了每行的
颜色。如果使用了
fill
,则该行可以是
guides(fill=guides\u图例(ncol=2,nrow=2,byrow=TRUE))

您需要指定哪个图例,在这种情况下,
颜色
图例:
引导(color=guides\u图例(ncol=2,nrow=2,byrow=TRUE))
。但是,当我运行代码时,
nls
模型的
stat\u smooth
失败,因此为图例的第二行创建了空间,但实际上没有为
nls
模型渲染图例框。@eipi10这确实有效;谢谢,但如果我有奇数个关键点,并且我希望图例的每一行水平居中对齐,该怎么办。这可能吗?
require(ggplot2)

x <- 1:10
y <- jitter(x^2)

DF <- data.frame(x, y)

p <- ggplot(DF, aes(x = x, y = y)) + geom_point() +
  stat_smooth(method = 'lm', aes(colour = 'linear')) +
  stat_smooth(method = 'lm', formula = y ~ poly(x,2), 
              aes(colour = 'polynomial')) +
  stat_smooth(method = 'nls', formula = y ~ a * log(x) +b, 
              aes(colour = 'logarithmic')) +
  stat_smooth(method = 'nls', formula = y ~ a*exp(b *x), 
              aes(colour = 'Exponential')) +
  theme(legend.position = "top") 

p <- p + guides(guide_legend(ncol=2,nrow=2,byrow=TRUE))


p
p+guides(guide_legend(ncol=2,nrow=2,byrow=TRUE))