如何在 base r 中创建水平图例(2 种方法)


您可以使用以下方法在基本 R 图中创建水平图例:

方法 1:使用水平参数

 legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '),
        horiz= TRUE , inset=c(0, -.1), xpd= TRUE )

此特定示例在图下方创建一个水平图例,其中图例的每个元素都位于同一行。

方法 2:使用 ncol 参数

 legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '),
        ncol=3, inset=c(0, -.15), xpd= TRUE )

此特定示例在图下方创建一个具有三列的水平图例。

inset(x, y)参数控制图例的位置。通过对 y 值使用负值,我们可以将图例向下推到图之外。

xpd=TRUE参数允许我们将图例放置在绘图之外,同时在绘图区域中保持可见。

以下示例展示了如何在实践中使用每种方法。

示例 1:使用 horiz 参数在基本 R 中创建水平图例

以下代码演示如何使用legend()函数中的horiz=TRUE参数在基本 R 图的底部创建水平图例:

 #create vector of values
data <- c(4, 10, 7, 5, 4, 3)

#specify fill colors to use
fill_cols <- c(' red ', ' pink ', ' blue ', ' green ', ' purple ', ' brown ')

#create bar plot to visualize values in vector
barplot(data, col=fill_cols)

#add legend to bottom of plot
legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '),
        horiz= TRUE , inset=c(0, -.1), xpd= TRUE ) 

基础 R 中的水平图

请注意,已创建水平图例并将其放置在图的底部。

您可以随意使用inset参数的值来调整图例的位置。

例如,我们可以使inset参数的 y 值更加负,以将图例推得更低:

 #create vector of values
data <- c(4, 10, 7, 5, 4, 3)

#specify fill colors to use
fill_cols <- c(' red ', ' pink ', ' blue ', ' green ', ' purple ', ' brown ')

#create bar plot to visualize values in vector
barplot(data, col=fill_cols)

#add legend to bottom of plot
legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '),
        horiz= TRUE , inset=c(0, -.2), xpd= TRUE ) 

请注意,水平图例已被推到图下方更低的位置。

示例 2:使用 ncol 参数在基本 R 中创建水平图例

以下代码演示如何使用legend()函数中的ncol参数在基本 R 图的底部创建具有三列的水平图例:

 #create vector of values
data <- c(4, 10, 7, 5, 4, 3)

#specify fill colors to use
fill_cols <- c(' red ', ' pink ', ' blue ', ' green ', ' purple ', ' brown ')

#create bar plot to visualize values in vector
barplot(data, col=fill_cols)

#add legend to bottom of plot
legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '),
        ncol=3, inset=c(0, -.15), xpd= TRUE ) 

请注意,已创建三列水平图例并将其放置在图的底部。

请随意修改ncol参数的值以创建具有不同列数的图例。

其他资源

以下教程解释了如何在 R 中执行其他常见任务:

如何更改 Base R 图中的图例大小
如何在 R 中的绘图之外绘制图例
如何更改基本 R 图中的图例位置

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注