[英]ggplot2: How to add linebreak to horizontal legend
請考慮以下R腳本(從此處獲取並稍作修改):
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))
如此處和此處所建議,但這對我不起作用。 該建議基本上顯示了線性模型和多項式模型的數據以及圖例,並完全隱藏了對數模型和指數模型。
如eipi10所述 ,
您需要指定哪個圖例,在這種情況下是顏色圖例:
guides(colour=guide_legend(ncol=2,nrow=2,byrow=TRUE)).
為了澄清,美學定義了每條線的colour
。 如果使用fill
,則該行可以是guides(fill=guide_legend(ncol=2,nrow=2,byrow=TRUE))
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.