ggplot 2軸でプロットする
ggplot
美麗グラフが気に入っているのだが、そのままでは、左右で異なる軸を提示したいときにうまくいかない。
Rで解析:ggplot2の利便性が向上「plotflow」パッケージを参考にしたら、"plotflow"というパッケージを用いて二軸表示出来るようになった。
データ
方法
まずは plotflowパッケージのインストール。
install.packages("devtools") devtools::install_github("trinker/plotflow")
ggdual_axis関数を用いて描ける。
library("plotflow") lg<-ggplot(uhc, aes(year)) + geom_line(aes(y=iryohi_cho))+ labs(y="Healthcare expenditure(trillion JPY)")+ theme_classic() rg<-ggplot(uhc, aes(year)) + geom_line(aes(y = elderly_mil, colour = "red"))+ labs(y="Elderly population(million)")+ theme_classic() ggdual_axis(lg, rg, 270) #左軸に表示させたいデータ、右軸データ、右軸名の回転角度を指定する。
これでは、右側の軸名がかぶっているので、themeでplot.marginを指定する。
lg<-ggplot(uhc, aes(year)) + geom_line(aes(y=iryohi_cho))+ labs(y="Healthcare expenditure(trillion JPY)")+ theme_classic()+ theme(plot.margin = grid::unit(c(.5, 1, .5, 0), "cm")) rg<-ggplot(uhc, aes(year)) + geom_line(aes(y = elderly_mil, colour = "red"))+ labs(y="Elderly population(million)")+ theme_classic()+ theme(plot.margin = grid::unit(c(.5, 1, .5, 0), "cm")) ggdual_axis(lg, rg, 270)
今度は上手くいった。ちなみに、赤が高齢者数(100万人)で黒が医療費(1兆円)。
双方、うなぎ登りである。