Rでグラフを描いたとき、凡例が気になる場合がありませんか?工夫できるポイントを紹介します。
とにかく早く問題解決したい人はこちら>>直接、データ解析相談
R グラフ 凡例の細かい調整(legendオプション)
グラフでよく使うヒストグラムを例にして凡例の細かい調整を行います。他のグラフでも同様に活用できます。
ヒストグラム 複数のグラフを重ねる
hist(
rnorm(1000, mean=-2, sd=1),
xlim=c(-10, 10), ylim=c(0, 250),
col="#ff000020",
main="rnorm", xlab="range")
hist(
rnorm(1000, mean=2, sd=1),
xlim=c(-10, 10), ylim=c(0, 250),
col="#0000ff20",
main="rnorm", xlab="range",
add=TRUE)
グラフに凡例をつける
legendで文字列のベクターを与えれば、Rのグラフで凡例を簡単に表示できます。しかし、複数のグラフを区別したい場合、テキストの情報だけでは区別ができません。通常、凡例テキストの前にマークをつけるなどの工夫を行います。さらに、この場合に限ってはマークが無いにもかかわらず、凡例内に無駄な余白があって凡例がすっきりしません。
hist(
rnorm(1000, mean=-2, sd=1),
xlim=c(-10, 10), ylim=c(0, 250),
col="#ff000020",
main="rnorm", xlab="range")
hist(
rnorm(1000, mean=2, sd=1),
xlim=c(-10, 10), ylim=c(0, 250),
col="#0000ff20",
main="rnorm", xlab="range",
add=TRUE)
legend("topright", legend=c("sample1", "sample2"))
legend 凡例マーク
識別マークをつけます。legend関数のltyオプションを指定すると、ラインパターンで識別できるようになります。ヒストグラムの場合はこのマークは適しません。しかし、グラフを複数重ねる場合によく用いられる折れ線グラフでは、データのパターンとRのグラフの凡例パターンに同じ番号を指定して使うことで識別が容易になります。
凡例マーク : ライン
hist(
rnorm(1000, mean=-2, sd=1),
xlim=c(-10, 10), ylim=c(0, 250),
col="#ff000020",
main="rnorm", xlab="range")
hist(
rnorm(1000, mean=2, sd=1),
xlim=c(-10, 10), ylim=c(0, 250),
col="#0000ff20",
main="rnorm", xlab="range",
add=TRUE)
legend("topright", legend=c("sample1", "sample2"), lty=c(1,2))
plot(sin, xlim=c(0,5), ylim=c(-1,1), ann=F)
par(new=T)
plot(cos, xlim=c(0,5), ylim=c(-1,1), lty=2, ylab="sin(x), cos(x)")
legend("topright", lty=1:2, legend=c("sin", "cos"))
凡例マーク : 四角形
ヒストグラムの場合は、識別マークはfillオプションを指定した方がピッタリです。データと同じ色をベクターで指定します。
hist(
rnorm(1000, mean=-2, sd=1),
xlim=c(-10, 10), ylim=c(0, 250),
col="#ff000020",
main="rnorm", xlab="range")
hist(
rnorm(1000, mean=2, sd=1),
xlim=c(-10, 10), ylim=c(0, 250),
col="#0000ff20",
main="rnorm", xlab="range",
add=TRUE)
legend("topright", legend=c("sample1", "sample2"), fill=c("#ff000020", "#0000ff20"))
legend 凡例内の位置調整
マークを付けない場合は、凡例内に無駄な余白ができるので位置を調整します。x.interspオプションを使います。凡例のマークがないときは、x.interspの値を0にすると余分な余白がなくなります。指定する値を大きくすると、マークとテキストの間隔が広がります。縦の間隔を調整する場合は、y.interspです。同様に値を大きくすると、間隔が広くなります。
余分な余白をなくす(凡例マークなし)
hist(
rnorm(1000, mean=-2, sd=1),
xlim=c(-10, 10), ylim=c(0, 250),
col="#ff000020",
main="rnorm", xlab="range")
hist(
rnorm(1000, mean=2, sd=1),
xlim=c(-10, 10), ylim=c(0, 250),
col="#0000ff20",
main="rnorm", xlab="range",
add=TRUE)
legend("topright", legend=c("sample1", "sample2"), x.intersp=0)
凡例 マークとテキストの間隔を広くする
legend("topright", legend=c("sample1", "sample2"), x.intersp=20)
凡例 縦の間隔を広くする
legend("topright", legend=c("sample1", "sample2"), y.intersp=10)
legend 色調整
ltyやfillオプションを使わない場合、色で識別することもできます。text.colオプションを使います。データと同じ色をベクターで指定します。
hist(
rnorm(1000, mean=-2, sd=1),
xlim=c(-10, 10), ylim=c(0, 250),
col="#ff000020",
main="rnorm", xlab="range")
hist(
rnorm(1000, mean=2, sd=1),
xlim=c(-10, 10), ylim=c(0, 250),
col="#0000ff20",
main="rnorm", xlab="range",
add=TRUE)
legend("topright", legend=c("sample1", "sample2"), text.col=c("#ff000020", "#0000ff20"), x.intersp=0)
実験データの解析や論文用グラフ作成のヒントになりそうな、プログラミング・統計処理の参考になる書籍をまとめて紹介しています。是非、参考にしてみて下さいね。
論文・データ解析の支援
個別に直接相談できるのが良いと、たくさんの方にご利用頂いています。
とにかく早く問題解決したい人はこちら>>直接、データ解析相談
とにかく早く問題解決したい人はこちら>>直接、論文相談
関連記事1

R 使い方 | volcano plot 描き方(ボルケーノプロット)
volcano plotは、発現解析の結果を表現でよく使われるグラフです。横軸に発現比(logFC)、縦軸にpvalue(-log10した値)をとります。Rを使って、volcano plot (ボルケーノ プロット)を作成します。とにかく早...

R 使い方 ボックスプロット(box plot) グラフの描き方
データを理解する方法の1つに「グラフ」があります。詳細なデータをまとめた表に比べると「詳細さ」は劣りますが、データの全体像を理解しやすくなります。そして、目的に応じたグラフを使うことが大事です。Rを使って、色んなグラフを描画してみましょう。...

R 使い方 折れ線グラフ グラフの描き方
データを理解する方法の1つに「グラフ」があります。詳細なデータをまとめた表に比べると「詳細さ」は劣りますが、データの全体像を理解しやすくなります。そして、目的に応じたグラフを使うことが大事です。Rを使って、色んなグラフを描画してみましょう。...

R 使い方 パイチャート(円グラフ) グラフの描き方
データを理解する方法の1つに「グラフ」があります。詳細なデータをまとめた表に比べると「詳細さ」は劣りますが、データの全体像を理解しやすくなります。そして、目的に応じたグラフを使うことが大事です。Rを使って、色んなグラフを描画してみましょう。...

R 使い方 棒グラフ グラフの描き方
データを理解する方法の1つに「グラフ」があります。詳細なデータをまとめた表に比べると「詳細さ」は劣りますが、データの全体像を理解しやすくなります。そして、目的に応じたグラフを使うことが大事です。今回は、「棒グラフ」です。とにかく早く問題解決...

R 使い方 散布図 グラフの描き方
データを理解する方法の1つに「グラフ」があります。詳細なデータをまとめた表に比べると「詳細さ」は劣りますが、データの全体像を理解しやすくなります。そして、目的に応じたグラフを使うことが大事です。Rを使って、色んなグラフを描画してみましょう。...

R 使い方 ヒストグラム グラフの描き方
データを理解する方法の1つに「グラフ」があります。詳細なデータをまとめた表に比べると「詳細さ」は劣りますが、データの全体像を理解しやすくなります。そして、目的に応じたグラフを使うことが大事です。Rを使って、色んなグラフを描画してみましょう。...
関連記事2

404 NOT FOUND | バイオインフォ 道場 [bioinfo-Dojo]
バイオインフォ 道場

R 使い方 目盛りのべき乗回避 グラフの描き方
Rでグラフを描画する場合、位置やサイズを自動調整してくれるので大変便利です。しかし、カスタマイズしようと思えば、各種パラメータを調整する必要があります。より綺麗なグラフに仕上げるために、軸ラベルや目盛り、余白の調整についてまとめます。目盛り...

R 使い方 任意の軸ラベル グラフの描き方
Rでグラフを描画する場合、位置やサイズを自動調整してくれるので大変便利です。しかし、カスタマイズしようと思えば、各種パラメータを調整する必要があります。より綺麗なグラフに仕上げるために、軸ラベルや目盛り、余白の調整についてまとめます。任意の...

R 使い方 グラフにテキストを書き込む グラフの描き方
Rでグラフを描画する場合、位置やサイズを自動調整してくれるので大変便利です。しかし、カスタマイズしようと思えば、各種パラメータを調整する必要があります。より綺麗なグラフに仕上げるために、軸ラベルや目盛り、余白の調整についてまとめます。データ...

R 使い方 ラベル向き調整 グラフの描き方
Rでグラフを描画する場合、位置やサイズを自動調整してくれるので大変便利です。しかし、カスタマイズしようと思えば、各種パラメータを調整する必要があります。より綺麗なグラフに仕上げるために、軸ラベルや目盛り、余白の調整についてまとめます。ラベル...

R 使い方 余白サイズ グラフの描き方
Rでグラフを描画する場合、位置やサイズを自動調整してくれるので大変便利です。しかし、カスタマイズしようと思えば、各種パラメータを調整する必要があります。より綺麗なグラフに仕上げるために、軸ラベルや目盛り、余白の調整についてまとめます。余白の...

R 使い方 軸ラベルのサイズ グラフの描き方
Rでグラフを描画する場合、位置やサイズを自動調整してくれるので大変便利です。しかし、カスタマイズしようと思えば、各種パラメータを調整する必要があります。より綺麗なグラフに仕上げるために、軸ラベルや目盛り、余白の調整についてまとめます。軸ラベ...

R 使い方 チャートやグラフの組合せ グラフの描き方
チャートやグラフは、データの理解を手助けしてくれます。「統計ソフト R」では様々なグラフが手軽に描けるので便利です。単体のチャートやグラフでも役に立ちますが、表現には限界があり、一長一短となるものも少なくありません。異なる種類のチャートやグ...

R 使い方 軸と目盛りの調整まとめ グラフの描き方
Rでグラフを描画する場合、位置やサイズを自動で調整してくれるので大変便利です。しかし、少しカスタマイズしようと思えば、色々なパラメータを調整する必要があります。より綺麗なグラフに仕上げるために、軸の目盛りの調整についてまとめます。とにかく早...

R 使い方 カラーパレット RColorBrewer 透明な色とグラフ
RColorBrewerは便利でよく使われるパッケージです。色々な色の組み合わせを簡単に使うことができます。しかし、複数のグラフを重ねたときに、透過度を簡単に設定できないのは使いにくく感じる場合があります。色の透過度を設定する方法を調べまし...

R 使い方 グラフの色 自作のカラーパレットとデフォルトのカラーパレット
グラフを描画する際、色の組み合わせを1つ1つ考えるのは面倒ですよね。Rには、あらかじめ色の組み合わせを用意したカラーパレットが準備されています。カラーパレットを使えば、洗練された色の組み合わせで綺麗なグラフを描くことができます。自分で色の組...

R 使い方 複数のグラフを並べる グラフの描き方
Rでグラフを並べてみましょう。似たようなデータや条件を変えたデータを比較する場合に、わかりやすくなります。注意点や工夫すべきポイントをまとめます。並べるという観点で別の記事を整理しました。とにかく早く問題解決したい人はこちら>>直接、データ...

R 使い方 凡例・エラーバー・グラフ保存などの図の仕上げ グラフの描き方
「統計ソフト R」によるチャートやグラフの描画は、手軽で大変便利です。ただ、仕上げには細かい調整が必要です。今回は、そのようなときに役立つ「凡例」や「エラーバー」の描き方に関するテクニックをまとめます。とにかく早く問題解決したい人はこちら>...

R 使い方 軸・ラベルの調整(向き・サイズ・色など) グラフの描き方
Rによるplot(グラフ)の描画は、手軽で大変便利です。ただ、細かい調整に関しては、全てをデフォルトに任せるわけにはいかないようです。今回は軸について、色々と制御してみます。軸の表示を制御する軸ラベルを変更する・消すx軸・y軸のラベルをそれ...

R 使い方 散布図 工夫(透明度・グラフ並べるなど) グラフの描き方
統計処理などで2変数の関係を調べるときに、良く使われるのが散布図です。少し工夫するとより使いやすくなります。散布図の工夫についてまとめます。とにかく早く問題解決したい人はこちら>>直接、データ解析相談散布図を描く散布図はplot関数を使って...

R 使い方 グラフ重ねる・グラフ分割「上下・左右」 グラフの描き方
R で複数のグラフを描画する際、いろいろな描き方を知っていると役に立つことがあります。よく用いられる「重ねる」「画面を分割する」について、まとめます。とにかく早く問題解決したい人はこちら>>直接、データ解析相談「R」で複数のグラフを描画する...

Rの使い方 エラーバーを描く方法
Rのグラフには、エラーバーや凡例、そして文字による説明があるとわかりやすくなります。グラフを仕上げるためのテクニックをまとめます。エラーバー 編。とにかく早く問題解決したい人はこちら>>直接、データ解析相談エラーバーを描くRのエラーバーは、...