如何在 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 )
请注意,已创建水平图例并将其放置在图的底部。
您可以随意使用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 中执行其他常见任务: