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))