Rでグラフを描画する場合、位置やサイズを自動で調整してくれるので大変便利です。しかし、少しカスタマイズしようと思えば、色々なパラメータを調整する必要があります。より綺麗なグラフに仕上げるために、軸の目盛りの調整についてまとめます。
とにかく早く問題解決したい人はこちら>>直接、データ解析相談
軸のラベルについて
基本的な使い方
グラフの描画の際、x軸・y軸のラベルや目盛りを意識することは少ないように思います。間隔や表示すべきデータをRが調整して、美しいグラフを仕上げることが出来ます。バイオインフォマティクスでも、散布図やヒートマップ・ボックスプロットなど色々なグラフを使いますが、細かい表現を気にしなければ簡単に描画することが出来ます。 軸目盛りのカスタマイズに関しては、文字の大きさや余白・表示間隔・数字表現(n乗)などを調整することが多いようです。
散布図
表示するデータのレンジが広い場合は、一部が10のn乗の表記になることがあります。
> data <- read.delim("data.txt")
> plot(data)
ヒートマップ
各軸に表示する文字が長い場合は、文字の大きさや向き調整したり・余白を広めにとるなどの調整が必要になります。
# from R sample
> require(graphics)
> require(grDevices)
> x <- as.matrix(mtcars)
> heatmap(x, col = cm.colors(256), scale = "column")
>head(x, 3)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
ボックスプロット
並べる項目数が多くなる・表示する文字が長くなると、文字のサイズや向きの調整が必要になります。
> boxplot(count ~ spray, data = InsectSprays, col = "lightgray")
> print(InsectSprays,3)
count spray
1 10 A
2 7 A
3 20 A
...
70 26 F
71 24 F
72 13 F
※sprayの項目名を「spray_data_」で修飾
よく使うオプション
軸の目盛りやラベル表示に関連して、表現を少し工夫する場合はオプションを設定します。
xlab, ylab 軸のラベルを指定します。
xlim, ylim 軸に対する表示範囲を指定します。
xlog, ylog それぞれの軸を対数スケールで指定します。
cex.lab 軸のラベルの大きさを調整します。(デフォルトサイズに対する倍数指定)
cex.axis 軸の目盛りの大きさを調整します。(デフォルトサイズに対する倍数指定)
las 軸の目盛りの向きを調整します。
mar プロット領域のマージンを調整します。
par グラフィカルパラメータの確認や設定を行うときに使います。
R 使い方 カラーパレット RColorBrewer 透明な色とグラフ
RColorBrewerは便利でよく使われるパッケージです。色々な色の組み合わせを簡単に使うことができます。しかし、複数のグラフを重ねたときに、透過度を簡単に設定できないのは使いにくく感じる場合があります。色の透過度を設定する方法を調べまし...
R 使い方 グラフの色 自作のカラーパレットとデフォルトのカラーパレット
グラフを描画する際、色の組み合わせを1つ1つ考えるのは面倒ですよね。Rには、あらかじめ色の組み合わせを用意したカラーパレットが準備されています。カラーパレットを使えば、洗練された色の組み合わせで綺麗なグラフを描くことができます。自分で色の組...
Rの使い方 エラーバーを描く方法
Rのグラフには、エラーバーや凡例、そして文字による説明があるとわかりやすくなります。グラフを仕上げるためのテクニックをまとめます。エラーバー 編。 とにかく早く問題解決したい人はこちら>>直接、データ解析相談 エラーバーを描く Rのエラーバ...
R 使い方 凡例・エラーバー・グラフ保存などの図の仕上げ グラフの描き方
「統計ソフト R」によるチャートやグラフの描画は、手軽で大変便利です。ただ、仕上げには細かい調整が必要です。今回は、そのようなときに役立つ「凡例」や「エラーバー」の描き方に関するテクニックをまとめます。 とにかく早く問題解決したい人はこちら...
こんなときはどうする?
目盛りの文字の大きさを調整したい場合は?
目盛りの文字の大きさを調整するには、cex.axis
オプションを指定します。デフォルトサイズに対する倍率で指定するので、0.2…0.5くらいの数値を設定して微調整すると設定しやすいと思います。par()
関数で設定して描画します。
> par(cex.axis=0.5)
> boxplot(count ~ spray, data=InsectSprays, col="lightgray")
heatmap関数の場合は、ラベルの大きさを制御するオプションとしてcexRow
・cexCol
が準備されています。デフォルトサイズに対する倍率で指定するので、0.2…0.5くらいの数値を設定して微調整すると設定しやすいと思います。尚、デフォルトは、0.2をベースにして、列数や行数で自動で微調整されます。実際は、グラフの外側領域のサイズを調整しつつ、文字の大きさを調整すると良いと思います。
> heatmap(x, col = cm.colors(256), scale = "column", cexRow=0.5)
余白を調整したい場合は?
余白のサイズを調整するには、グラフィカルパラメータを調整します。特に、グラフ描画に関しては、プロット領域のマージンを調整することが多いのですが、その場合はレイアウトパラメータmar
を調整します。具体的には、par()
関数を使って設定を行います。par()
関数でマージンを設定後に描画すると、マージン設定を反映したプロットが描画されます。
> par()$mar
5.1 4.1 4.1 2.1 #下マージン・左マージン・上マージン・右マージン
> par(mar=c(2.5, 2.5, 1, 1))
> boxplot(count ~ spray, data=InsectSprays, col="lightgray")
heatmap関数の場合は、マージンを調整するオプションとして、margins
オプションが準備されています。par$mar
と異なり2つのパラメータを指定しますが、下マージンと右マージンに対応しています。列名が長い場合や、行名が長い場合は、文字サイズとマージンを調整すると綺麗なヒートマップを描画できます。
> heatmap(x, col=cm.colors(256), scale="column", margins=c(5,10))
ラベルの向きを調整したい?
boxplotのように項目名を1つ1つ全てに表示したい場合、文字が長くて表示が間引かれたり、描画枠からはみ出てしまうと困ります。そのようなときは、las
オプションを指定します。lasには0〜3までの4つの設定があります。(y,x)=(横・横, 縦・横, 縦・縦, 横・縦)で設定できます。par()
関数で設定して描画します。
> par(las=2)
> boxplot(count ~ spray, data=data2, col="lightgray", xlab="x label")
任意の間隔・内容で軸ラベルを表示したい?
軸の目盛りを任意の場所・任意の内容で表示する場合、グラフの表示と軸の表示を分けます。グラフの軸に関する表示を「非表示」に設定し、軸は別で描画します。軸の表示は、axis
関数を使います。引数のat
で任意の位置を指定し、labels
で表示するテキストを指定します。
> barplot(VADeaths, axisnames=F)
> axis(1, at=c(0.7, 1.9, 4.3), labels=c("Rural Male", "Rural Female", "Urban Female"))
データの近くにテキストを表示したい?
グラフ描画の際、図だけではわかりにくいので、値をテキストで表示したいときがあります。そのようなときは、text
関数を使います。表示位置x・y、データを指定することで、任意の位置に値を表示することができます。
> barplot(VADeaths)
> text(c(0.7), sum(VADeaths[,1])+4, labels=c(sum(VADeaths[,1])), col="red")
目盛りのベキ乗表記を出来るだけ避けたい?
レンジが広いデータを扱う場合、目盛りの一部や片方の軸だけベキ乗表示になる場合があります。そのようなときは、プロット情報をもとに目盛りを作りなおして、axis
関数で別途表示を検討します。
> plot(data_x, xaxt='n')
> x <- par()$xaxp
> x_seq <- seq(x[1], x[2], by=(x[2]-x[1])/x[3])
> x_seq <- as.integer(x_seq)
[1] 0 200000 400000 600000 800000 1000000
> axis(1, x_seq, labels=format(x_seq, sientific=F))
論文・データ解析の支援
個別に直接相談できるのが良いと、たくさんの方にご利用頂いています。
とにかく早く問題解決したい人はこちら>>直接、データ解析相談
とにかく早く問題解決したい人はこちら>>直接、論文相談
関連記事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 使い方 カラーパレット RColorBrewer 透明な色とグラフ
RColorBrewerは便利でよく使われるパッケージです。色々な色の組み合わせを簡単に使うことができます。しかし、複数のグラフを重ねたときに、透過度を簡単に設定できないのは使いにくく感じる場合があります。色の透過度を設定する方法を調べまし...
R 使い方 グラフの色 自作のカラーパレットとデフォルトのカラーパレット
グラフを描画する際、色の組み合わせを1つ1つ考えるのは面倒ですよね。Rには、あらかじめ色の組み合わせを用意したカラーパレットが準備されています。カラーパレットを使えば、洗練された色の組み合わせで綺麗なグラフを描くことができます。自分で色の組...
R グラフ 凡例の調整 legendオプション
Rでグラフを描いたとき、凡例が気になる場合がありませんか?工夫できるポイントを紹介します。 とにかく早く問題解決したい人はこちら>>直接、データ解析相談 R グラフ 凡例の細かい調整(legendオプション) グラフでよく使うヒストグラムを...
R 使い方 複数のグラフを並べる グラフの描き方
Rでグラフを並べてみましょう。似たようなデータや条件を変えたデータを比較する場合に、わかりやすくなります。注意点や工夫すべきポイントをまとめます。並べるという観点で別の記事を整理しました。 とにかく早く問題解決したい人はこちら>>直接、デー...
R 使い方 複数のグラフを並べる グラフの描き方
Rでグラフを並べてみましょう。似たようなデータや条件を変えたデータを比較する場合に、わかりやすくなります。注意点や工夫すべきポイントをまとめます。並べるという観点で別の記事を整理しました。 とにかく早く問題解決したい人はこちら>>直接、デー...
R 使い方 軸・ラベルの調整(向き・サイズ・色など) グラフの描き方
Rによるplot(グラフ)の描画は、手軽で大変便利です。ただ、細かい調整に関しては、全てをデフォルトに任せるわけにはいかないようです。今回は軸について、色々と制御してみます。 軸の表示を制御する 軸ラベルを変更する・消す x軸・y軸のラベル...
R 使い方 散布図 工夫(透明度・グラフ並べるなど) グラフの描き方
統計処理などで2変数の関係を調べるときに、良く使われるのが散布図です。少し工夫するとより使いやすくなります。散布図の工夫についてまとめます。 とにかく早く問題解決したい人はこちら>>直接、データ解析相談 散布図を描く 散布図はplot関数を...
R 使い方 グラフ重ねる・グラフ分割「上下・左右」 グラフの描き方
R で複数のグラフを描画する際、いろいろな描き方を知っていると役に立つことがあります。よく用いられる「重ねる」「画面を分割する」について、まとめます。 とにかく早く問題解決したい人はこちら>>直接、データ解析相談 「R」で複数のグラフを描画...
Rの使い方 エラーバーを描く方法
Rのグラフには、エラーバーや凡例、そして文字による説明があるとわかりやすくなります。グラフを仕上げるためのテクニックをまとめます。エラーバー 編。 とにかく早く問題解決したい人はこちら>>直接、データ解析相談 エラーバーを描く Rのエラーバ...