1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Rのggplot2を使って棒グラフを作成する

Posted at

 

今回はRのパッケージggplot2を使って色々なグラフを作成してみたいと思います。

ggplot2とは

Rには様々なデータを可視化する方法がありますが、その中でもggplot2は比較的簡単に綺麗なグラフを作成することができます。

ggplot2は入力すべき情報とオプションが統一されているため、あるグラフで使い方を覚えてしまえば、他の種類のグラフを作成する際にも同じ使い方でグラフを作成することができます。

また、他のパッケージと比べて関数の種類ごとに使い方やオプションを覚える必要がないので、学習効率が良いと思います。

ggplot2のインストール

それでは早速ggplot2をインストールしてみましょう。

Rのコンソールから以下のようにコマンドを実行すればOKです。

同時にサンプルデータを取得するために「gcookbook」もインストールしておきましょう。

install.packages("ggplot2")
install.packages("gcookbook")
library(ggplot2)
library(gcookbook)

棒グラフを作成してみる

それではまずは棒グラフから作成してみましょう。

 今回使うデータを見てみましょう。今回はgcookbookの中にあるpg_meanというデータを使います。

棒グラフを作成するときはgeom_bar()をたしてやることでできます。

もし折れ線グラフを作成したい場合はgeom_lineと記述することで作成することができます。

> pg_mean
 group weight
1 ctrl 5.032
2 trt1 4.661
3 trt2 5.526

グラフのプロット

ggplot(pg_mean, aes(x = group, y = weight)) + geom_bar(stat = "identity")

graph1.png

色をつける 

先ほどの棒グラフに色をつけてみましょう。geom_barの中にfillとcolourを指定するだけで色をつけることができます。

ggplot(pg_mean, aes(x = group, y = weight)) +
     geom_bar(stat = "identity", fill = "lightblue", colour = "black")

graph2.png

グループ化する

 
次は棒グラフをグループ化してみましょう。グループ化する方法はfillに変数を与えて、geom_bar("position="dodge")を用います。

次に使うデータセットは2つのカテゴリがあります。カテゴリごとにグループ化し、棒グラフを作成してみましょう。

> cabbage_exp
 Cultivar Date Weight sd n se
1 c39 d16 3.18 0.9566144 10 0.30250803
2 c39 d20 2.80 0.2788867 10 0.08819171
3 c39 d21 2.74 0.9834181 10 0.31098410
4 c52 d16 2.26 0.4452215 10 0.14079141
5 c52 d20 3.11 0.7908505 10 0.25008887
6 c52 d21 1.47 0.2110819 10 0.06674995
> ggplot(cabbage_exp, aes(x = Date, y = Weight, fill = Cultivar)) +
    geom_bar(stat = "identity", position = "dodge")

graph3.png

 

ドットプロット

 

最後はドットプロットを作成してみたいと思います。

ドットプロットの場合は一番簡単な方法として、geom_point()と記述することで作成することができます。

tophit <- tophitters2001[1:25,]
tophit
ggplot(tophit, aes(x = avg, y = name)) + geom_point()

graph4.png

これでも良いのですがせっかくなのでドットのサイズや体裁を整えてみましょう。

ggplot(tophit, aes(x = avg, y = reorder(name, avg))) +
    geom_point(size = 3) + #ドットのサイズを変更
    theme_bw() + #背景色をなくす
    theme(axis.text.x = element_text(angle = 60, hjust = 1),
                panel.grid.major.y = element_blank(),
                panel.grid.minor.y = element_blank(),
                panel.grid.major.x = element_line(colour = "grey60", linetype = "dashed"))

graph5.png

avgでソートしたのでさっきのグラフよりは見やすくなりました!

このようにggplot2は綺麗なグラフが簡単に書けるのでオススメです。最初はわからないことばかりでつまずくかもしれませんが、Rを使っていくのであればggplotを使いこなせるようになった方がRだけで分析結果のアウトプットもできるため良いと思います。

次回は折れ線グラフなどを紹介したいと思います。

 

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?