http://r4ds.had.co.nz/data-visualisation.html#coordinate-systems
今回でグラフ云々の話は一旦終了です。
軸
今回の話はx軸、y軸について。RはデフォルトでCartesian coordinate system(デカルト座標系)を採用する。ちなみに、Cartesianはラテン語である。座標系名の由来はルネ・デカルト(1596-1650)で、フランス人である。フランス語では彼の名はRené Descartesと書くが、ラテン語名にするとレナトゥス・カルテシウス(Renatus Cartesius)となる。このCartesiusから座標系の名前が付けられたのである(wikipedia調べ)。さて、この座標系ではそれぞれの軸間隔にしたがってプロットされていくわけである。しかし、Rには他の座標軸を使うこともでき、意外と役に立つそうだ。
flip(反転)
まずはx軸とy軸を反対にしたものである。x軸のラベル名が長かったりすると軸を逆にしたほうが見やすくなる。
ggplot(data = mpg, mapping = aes(x = class, y = hwy)) + geom_boxplot()
ggplot(data = mpg, mapping = aes(x = class, y = hwy)) + geom_boxplot() + coord_flip()
左がそのまま、右がcoord_flip()を付け足してx/y軸を反転させたもの。この図だとどっちでもいい気がするが、x軸の長さやラベルの長さによっては、文字が被ってしまうことがある。
quickmap(整形)
Rでは地図データを読み込んで描画できるのだが、デフォルトの状態だと歪んでしまう場合がある。そんなとき、coord_quickmap()を後ろに付け足すことで、地図を正確に描画できる。
その前に事前準備として、mapに関するパッケージのインストールを行う。既にインストール済みの場合は不要である。
install.packages("maps")
インストールが完了したらパッケージを読み込む。
library("maps")
今回はニュージランドのデータを読み込む。
nz <- map_data("nz")
この<-は代入演算子で、nzという変数にニュージランドの地形データを保存するよと宣言している。
ggplot(nz, aes(long, lat, group = group)) + geom_polygon(fill = "white", colour = "black")
ggplot(nz, aes(long, lat, group = group)) + geom_polygon(fill = "white", colour = "black") + coord_quickmap()
左がそのまま、右がcoord_quickmap()有り。もうちょっと差があるとよかったのだが・・・。とりあえず右のほうが正確そうなのはわかると思う。
polar(扇形グラフ)
bar <- ggplot(data = diamonds) + geom_bar( mapping = aes(x = cut, fill = cut), show.legend = FALSE, width = 1 ) + theme(aspect.ratio = 1) + labs(x = NULL, y = NULL) bar + coord_flip() bar + coord_polar()
上のソースコードではggplot〜labsをbarという変数に代入し、flipとpolar軸のグラフを表示している。
左がflipの結果、右がpolarの結果である。
ちなみに、今までlegendの意味がわかっていなかったのだが、上のソースコードのshow.legendをTRUEにすると意味がわかった。
凡例だった。