在R代码中使用ggplot时在图例列表中创建列

Mun*_*ish 8 r ggplot2

我正在使用ggplot(包名:ggplot2)绘制15行,每个行代表一个单独的实体,并希望为它创建一个图例.但是,我无法将图例条目划分为多个列.有人可以建议如何在ggplot环境中做同样的事情.

目前,我使用以下命令创建图例:

opts(title=plotName,legend.position='bottom')
Run Code Online (Sandbox Code Playgroud)

但是,这给出了一个列的图例.因此,图表中的大面积区域由传说本身占据.将它分成2或3列将真正有助于原因,同时将图例保持在图表的底部.我也试过了,legend.direction但是这个命令在一行中显示了图例,这是不可取的,除非我可以将它传播到2-3行.

opts(title=plotName,legend.position='bottom',legend.direction="horizontal")
Run Code Online (Sandbox Code Playgroud)

提前谢谢,Munish

小智 11

使用ggplot的新主题环境只需要一个简单的:+ guides(col=guide_legend(ncol=2))在2列中格式化图例.


Jos*_*ien 8

您可以使用它guide_legend()来控制ggplot图例的布局和外观.特别是,它需要的参数nrowncol,这是你以后.

以下是非常有用的文档第2部分中的示例,其中包含 对ggplot2-0.9.0.pdf的更改和添加.

library(ggplot2)

q <- ggplot(diamonds, aes(x = table, fill = clarity)) +
     geom_histogram() +
     scale_y_continuous()

q + guides(fill = guide_legend(nrow = 4, title.hjust = 0.4,
        title.theme = theme_text(size = 12, face = "bold"))) +
xlim(45, 75)
Run Code Online (Sandbox Code Playgroud)