こんな感じでグラフを調整しています(改)

Rでグラフを描く場合に、こんな感じで調整しています。

sample.csvは、こんな内容のファイルです。

"グループ","平成23年度","平成24年度","平成25年度","平成26年度","平成27年度","平成28年度"
"グループ1",0.61,0.51,0.78,0.69,0.72,0.96
"グループ2",1.12,0.73,1.42,NA,1.31,0.77
"グループ3",1.11,1.17,0.79,0.82,NA,0.8
"グループ4",1.12,1.01,1.34,NA,1.41,1.01
"グループ5",1.36,1.19,0.79,0.66,NA,0.68
"グループ6",1.14,1.04,0.77,0.54,0.55,1.26

Excelにありがちな表をそのままCSVとして作ってみました。

エクセルで作る場合は、エクセルシートの左上(セルA1)から詰めて、データを入れてください。その際、ダブルコーテーションは入れないで、NAのセルは空白にしてください。入力が終わったら、CSVで保存してください。

以下、ソースですが、適当にちゃちゃーと作ったので、1行がだらだらと長くて見にくくてすみません。

3行目

データを読み込みます。
文字コードが問題になって、日本語が文字化けするかもしれません。
その場合は、3行目を
d0 <- read.csv("sample.csv", fileEncoding = "cp932")
または、
d0 <- read.csv("sample.csv", fileEncoding = "utf8")
としてみてください。

4行目〜9行目

「平成〇〇年度」は、項目名ではなくて、データの中身そのものですが、一応「時間」であることはわかっているので、いろいろと操作をして、整理します。

11行目〜34行目

matplot()で、調整しながら、グラフを描きました。
matplot()は、データフレームや行列を一気に折れ線や点プロットにしてくれる便利な関数です。
何も調整しないと、以下のようなグラフが描けます。

しかし、私としては、まず、カラーが気に入らないのです。理由は、

  • レポートなどの印刷するものに向いていない。
    …と思う。反面、Webではカラーの方がキレイだなぁ、とは思います。
    それでも、特にレポートなどに描くグラフはできるだけシンプルでわかりやすいものにする必要があると考えています。シンプルなグラフに、カラーを使う必要を感じません。
  • 色覚異常を考えると、調整が面倒
    色覚異常は思っている以上に多いのです。それを考えると、安易に「カラーにすれば見栄えが良い」とは言えないのです。
    色使いは、カラーユニバーサルデザインに配慮した色の組み合わせのテーブルを作っておけば事足りますが、使う色が限られるので、結局、線や点の種類を考えなければなりません。

などです。

matplot()は自動で色まで変えてくれます。
しかし、そんなもの、調整するまでもなく、男は黙って col = "black" です。

すると、最初はこんな感じです。

NA(結束値)があるので、折れ線が抜けています。

6回ぐらい調整した結果が、以下

実際は、いつもやることが決まっているので、一気に進みますが、マージンの調整に、プラス1〜2回ぐらいは必要です。

最初に目盛を内側にするとか、自分としてはおきまりになっていることをしていませんが、こんな感じで、調整をしています。

36行目〜

ここでは、matplot()と同じグラフを、高水準作図関数 plot() と、低水準作図関数 lines(), points() を使って書いてみました。

やり方はいろいろあるので、試してみて下さい。

コメントを残す

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