簡體   English   中英

ggplot2:如何將換行符添加到水平圖例

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM