忍者ブログ
[301] [300] [299] [298] [297] [296] [295] [294] [292] [291] [293]

DATE : 2017/08/18 (Fri)
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


DATE : 2007/05/08 (Tue)

棒の先端に項目名のある横棒グラフは、次の手順で描くことができます。

  1. 項目名のない横棒グラフを描く。
  2. 項目名を各棒の先端に描く。

例を描く際に使用するのは、1ユーロに対するユーロ圏各国通貨の換算レートです。このデータセットは R に内蔵されているので、以下を実行すると換算レートを表すベクトルが出てきます(「>」はプロンプトです)。help 関数で詳細を調べることもできます。

> euro

結果の一部を取り出すと、次のようになっています。

        ATS         BEF         DEM         ESP         FIM         FRF 
  13.760300   40.339900    1.955830  166.386000    5.945730    6.559570 

ベクトルの各要素にはユーロ圏各国通貨の名前が付けられています。例えば、ATS はオーストリア・シリングです。

なお、R 2.5.0 Windows 版で動作を確認しています。

項目名のない横棒グラフを描く

項目名のない横棒グラフは次のように描きます。

> names.y <- barplot(euro, horiz = TRUE, names.arg = NA)

横棒グラフを描くには horiz = TRUE に設定します。項目名を表す names.arg 引数は、項目名を描かないように NA と設定します。なお、horiz = TRUE と設定すると下から順に棒グラフが描かれます。上から順に描くには、rev 関数を使って euro のベクトルを逆順にします。

ここで、 barplot 関数の戻り値を names.y に代入しています。barplot は、各棒の先端の中心座標(横棒グラフの場合は y 座標)をベクトルとして返します。

項目名を各棒の先端に描く

各棒の先端の中心座標を使って、項目名を描きます。

> text(euro, names.y, names(euro), pos = 4)

x 座標に棒グラフの長さ(=換算レート)を指定し、y 座標に各棒の先端の中心座標 names.y を指定します。euro のベクトルから names 関数を使って項目名を取り出します。文字列の配置を表す引数 pos は 4(座標の右側)に設定します。横棒グラフで項目を上から描いた場合は、ここでも euro のベクトルを逆順にします。

なお、上で描いたグラフは ITL(イタリア・リラ)の換算レートのきりが悪いため、この項目名だけ表示されません。そのような場合、以下のようにグラフの x 軸の範囲を調節します。

> names.y <- barplot(euro, horiz = TRUE, names.arg = NA, xlim=c(0, 2500))
> text(euro, names.y, names(euro), pos = 4)

x 軸の範囲を調節すると、きりが悪いために表示されない項目名も表示できるようになります。この例では、0 ~ 2500 に設定しました。

参考文献

PR
●この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
●この記事へのトラックバック
この記事にトラックバックする:
忍者ブログ [PR]
ブログ内検索
最近の状況
リンク
カレンダー
07 2017/08 09
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
使用許諾
最新コメント
(08/15)
(05/04)
(03/06)
(03/04)
(09/25)
最新トラックバック
T/O
(11/05)
ブログ内検索
最近の状況
リンク
カレンダー
07 2017/08 09
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
使用許諾
最新コメント
(08/15)
(05/04)
(03/06)
(03/04)
(09/25)
最新トラックバック
T/O
(11/05)