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 )
この特定の例では、プロットの下に 3 つの列を持つ水平の凡例を作成します。
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 プロットの下部に 3 列の水平凡例を作成する方法を示しています。
#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 )
3 列の水平凡例が作成され、プロットの下部に配置されていることに注意してください。
ncol引数の値を自由に変更して、異なる列数の凡例を作成してください。
追加リソース
次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。
Base R プロットで凡例のサイズを変更する方法
R でプロットの外側に凡例を描画する方法
基本的な R プロットで凡例の位置を変更する方法