original code from https://mrunadon.github.io/ThesisPlot/ ggplot2で論文用の棒グラフと折れ線グラフを描く
library(tidyverse)
## -- Attaching packages ---------------------------------------------------- tidyverse 1.2.1 --
## √ ggplot2 3.1.1 √ purrr 0.3.2
## √ tibble 2.1.1 √ dplyr 0.8.3
## √ tidyr 0.8.3 √ stringr 1.4.0
## √ readr 1.3.1 √ forcats 0.4.0
## -- Conflicts ------------------------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
# dataの用意
# 今回はtibbleで用意したいと思います
# R付属のirisデータセット
# head()関数で最初の6行を表示
head(iris)
Add a new chunk by clicking the Insert Chunk button on the toolbar or by pressing Ctrl+Alt+I.
# as_tibble()関数で、listやarrayをtibbleに変換
iris <- as_tibble(iris)
head(iris)
str(iris)
## Classes 'tbl_df', 'tbl' and 'data.frame': 150 obs. of 5 variables:
## $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
## $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
## $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
## $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
## $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
When you save the notebook, an HTML file containing the code and output will be saved alongside it (click the Preview button or press Ctrl+Shift+K to preview the HTML file)
# x %>% f(a, b) は f(x, a, b) と等価。
# https://heavywatal.github.io/rstats/dplyr.html
# mutate()関数で栽培条件を追加。また、月も追加
irisOrdered <- iris %>%
mutate(Cultivation.Condition = as.factor(rep(c("wild", "cultivate"), 75))) %>%
mutate(Month = rep(c("Jan", "Feb", "Mar", "Apr", "May"), 30))
head(irisOrdered)
# 棒グラフ
# theme_classic
# グラフフォントサイズ12ptを初期設定する
# キャンバスを用意してgに格納
g <- ggplot(irisOrdered, aes(x=Species, y=Sepal.Length)) +
theme_set(theme_classic(base_size = 18, base_family = "Helvetica"))
# キャンバスgに棒グラフを描く
# stat_summary()関数を用いる
g <- g +
stat_summary(
aes(fill=Cultivation.Condition), # 塗りつぶしは栽培条件で変更する
fun.y=mean, geom="bar", # 栽培条件ごとに平均値を算出して、棒グラフを出す
alpha=0.8, # 透過性0.8
colour="black", # 棒グラフの周りの線を黒色固定
position="dodge"
)
# 棒グラフの上からエラーバーをつける
g <- g +
stat_summary(
aes(group=Cultivation.Condition),
fun.data=mean_sdl,
geom="errorbar",
size=0.5,
width=0.1,
position=position_dodge(.9),
fun.args = list(mult = 1)
)
# 原点を左下にする
g <- g +
scale_y_continuous(expand=c(0,0))
# 白黒にする
g <- g +
theme_set(theme_classic(base_size = 18)) +
scale_fill_grey()
g
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
## Windows のフォントデータベースにフォントファミリが見付かりません
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
## Windows のフォントデータベースにフォントファミリが見付かりません
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
## Windows のフォントデータベースにフォントファミリが見付かりません
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
## Windows のフォントデータベースにフォントファミリが見付かりません
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
## Windows のフォントデータベースにフォントファミリが見付かりません
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
## Windows のフォントデータベースにフォントファミリが見付かりません
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
## Windows のフォントデータベースにフォントファミリが見付かりません
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
## Windows のフォントデータベースにフォントファミリが見付かりません
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
## Windows のフォントデータベースにフォントファミリが見付かりません
## Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x,
## x$y, : Windows のフォントデータベースにフォントファミリが見付かりません
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
## Windows のフォントデータベースにフォントファミリが見付かりません
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
## Windows のフォントデータベースにフォントファミリが見付かりません
library(magick)
## Linking to ImageMagick 6.9.9.14
## Enabled features: cairo, freetype, fftw, ghostscript, lcms, pango, rsvg, webp
## Disabled features: fontconfig, x11
tiger <- image_read_svg('http://jeroen.github.io/images/tiger.svg', width = 400)
print(tiger)
## # A tibble: 1 x 7
## format width height colorspace matte filesize density
## <chr> <int> <int> <chr> <lgl> <int> <chr>
## 1 PNG 400 400 sRGB TRUE 0 72x72
The preview shows you a rendered HTML copy of the contents of the editor. Consequently, unlike Knit, Preview does not run any R code chunks. Instead, the output of the chunk when it was last run in the editor is displayed.