Ggplot2 で複数行の凡例を作成する方法


次の構文を使用して、ggplot2 で複数行の凡例を作成できます。

 ggplot(df, aes(x=x_var, y=y_var, color=group_var)) +
geom_point() +
  guides(color=guide_legend(nrow= 2 , byrow= TRUE )) 

nrow引数の値は、凡例で使用する行数を指定します。

次の例は、この構文を実際に使用する方法を示しています。

例: ggplot2 で複数行の凡例を作成する

R に、さまざまなバスケットボール選手に関する情報を含む次のデータ フレームがあるとします。

 #create data frame
df <- data. frame (team=c('Mavs', 'Heat', 'Nets', 'Lakers', 'Suns', 'Cavs'),
                 points=c(24, 20, 34, 39, 28, 29),
                 assists=c(5, 7, 6, 9, 12, 13))

#view data frame
df

    team points assists
1 Mavs 24 5
2 Heat 20 7
3 Nets 34 6
4 Lakers 39 9
5 Suns 28 12
6 Cavs 29 13

凡例で使用する行数を指定せずに ggplot2 で散布図を作成すると、ggplot2 はデフォルトで各行にラベルを配置します。

 library (ggplot2)

#create default scatterplot
ggplot(df, aes(x=assists, y=points, color=team)) +
  geom_point(size= 3 )

複数行の凡例を作成するには、 nrow引数を指定してguides()関数を使用する必要があります。

 library (ggplot2)

#create scatterplot with two rows in legend
ggplot(df, aes(x=assists, y=points, color=team)) +
  geom_point(size= 3 ) +
  guides(color=guide_legend(nrow= 2 , byrow= TRUE )) 

凡例が 2 行になっていることに注意してください。

凡例の位置も変更したい場合は、 legend.position引数を指定してtheme()関数を使用できます。

 library (ggplot2)

#create scatterplot with two rows in legend
ggplot(df, aes(x=assists, y=points, color=team)) +
  geom_point(size= 3 ) +
  theme(legend. position = ' bottom ') +
  guides(color=guide_legend(nrow= 2 , byrow= TRUE )) 

凡例はプロットの下部に配置され、2 つの線が表示されます。

追加リソース

次のチュートリアルでは、ggplot2 で他の一般的な操作を実行する方法を説明します。

ggplot2で凡例のタイトルを変更する方法
ggplot2で凡例のサイズを変更する方法
ggplot2で凡例の位置を変更する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です