裹在GGPLOT2图例文本(Wrap legend text in ggplot2)

2019-06-23 23:33发布

虽然使用GGPLOT2生产图,我有我想换了两行一些长期传奇的名字。 例如:

a <- (1:10)
b <- c(1,1.5,2,4,5,5.3,7,9,9.5,9.8)
places = c("Birmingham","Chester-le-street","Cambridge", "Newcastle-upon-Tyne","Peterborough","Cambridge", "Newcastle-upon-Tyne","Peterborough","Liverpool","Stratford-upon-Avon")
df1 = data.frame(a,b,places)
library(ggplot2)
i = ggplot(df1, aes(x=a, y=b)) + geom_point(aes(colour = places), size=3) + opts(legend.position="bottom")

我怎么会去当框设置为在底部包裹图例项目 - 说,在2条或3线? 目前,七个品的传说是彼此相邻。 我宁愿他们是分两行显示(有说,最上面一行四个镇和第二排三个镇)。

提前谢谢了。

Answer 1:

好吧,给你的编辑,你可能想要这个:

library(scales)
i + guides(colour = guide_legend(nrow = 2))

但你会发现,你仍然要使用文字环绕技术为好,让它适应。



Answer 2:

从你的例子:

df1$places<-sub("-", "- \n ", df1$places)  

i = ggplot(df1, aes(x=a, y=b)) + geom_point(aes(colour = places), size=3)

注: - 您可以使用GSUB替换所有“ - ”用“ - \ n”



文章来源: Wrap legend text in ggplot2
标签: r ggplot2