第13回 可視化(2)
関西大学総合情報学部
2024-07-04
すぐに実習できるように準備しておきましょう。
Data
フォルダーを作成し、そこにアップロードしましょう。geom_col()
or geom_bar()
geom_histogram()
geom_box()
geom_point()
geom_line()
棒グラフを作成する際に必要な最低限の情報
x
: 棒の横軸上の位置 (大陸)y
: 棒の高さ (人間開発指数の平均値)y
: 棒の縦軸上の位置 (大陸)x
: 棒の長さ (人間開発指数の平均値)第9回講義のデータ(countries.csv
)を使用
Continent
)ごとの人間開発指数(HDI_2018
)の平均値を計算し、df2
という名で格納geom_col()
aes()
)
Continent
)を意味するHDI
)を意味するStep1: df2
のContinent
列を日本語にリコーディング
df2 <- df2 |>
mutate(Continent_J = recode(Continent,
"Asia" = "アジア",
"Africa" = "アフリカ",
"America" = "アメリカ",
"Europe" = "ヨーロッパ",
.default = "オセアニア"))
df2
# A tibble: 5 × 3
Continent HDI Continent_J
<chr> <dbl> <chr>
1 Africa 0.553 アフリカ
2 America 0.742 アメリカ
3 Asia 0.723 アジア
4 Europe 0.861 ヨーロッパ
5 Oceania 0.782 オセアニア
Step2: 図のラベルを修正(labs()
)
アルファベット順に並べ替えたい場合
fct_inorder()
{forcats}のfct_inorder()
関数({forcats}は{tidyverse}の一部)
各政治体制に属する国家数を計算
df3 <- df |>
drop_na(Polity_Type) |>
mutate(Polity_Type = factor(Polity_Type,
levels = c("Autocracy", "Closed Anocracy",
"Open Anocracy", "Democracy",
"Full Democracy"))) |>
group_by(Polity_Type) |>
summarise(N = n())
df3
# A tibble: 5 × 2
Polity_Type N
<fct> <int>
1 Autocracy 19
2 Closed Anocracy 23
3 Open Anocracy 20
4 Democracy 65
5 Full Democracy 31
x = Polity_Type
)y = N
)例) さらに大陸の情報を持たせ、色分けしたい
# A tibble: 20 × 3
Polity_Type Continent N
<fct> <chr> <int>
1 Autocracy Africa 3
2 Autocracy Asia 14
3 Autocracy Europe 2
4 Closed Anocracy Africa 14
5 Closed Anocracy America 2
6 Closed Anocracy Asia 6
7 Closed Anocracy Europe 1
8 Open Anocracy Africa 12
9 Open Anocracy America 4
10 Open Anocracy Europe 2
11 Open Anocracy Oceania 2
12 Democracy Africa 18
13 Democracy America 16
14 Democracy Asia 15
15 Democracy Europe 16
16 Full Democracy Africa 1
17 Full Democracy America 5
18 Full Democracy Asia 3
19 Full Democracy Europe 20
20 Full Democracy Oceania 2
aes()
内にfill = Continent
を追加
geom_col()
内にposition = "dodge"
を指定(aes()
の外)
theme()
内にlegend.position = "bottom"
を指定
"right"
("top"
は上段; "none"
は削除)x
とfill
を交換facet_wrap(~ 分割の基準となる変数名)
値ラベルが長すぎる場合、ラベルを回転することで重複を避ける
theme()
レイヤーはかなり複雑)x
とy
を交換しても良い
棒の横軸上の位置と高さ
x
にマッピングするだけで、自動的にヒストグラムを生成geom_histogram()
を使用: マッピングはx
のみ
geom_histogram()
内、aes()
の外にbins
引数を指定
geom_histogram()
内、aes()
の外にbinwidth
引数を指定
geom_histogram()
内、aes()
の外にcolor
引数を指定
scale_x_continuous()
を使用 (x
をy
に変えると縦軸修正)
breaks
引数: 目盛りの位置 / labels
引数: 目盛りのラベル大陸ごとのHDI_2018
のヒストグラム: ファセット分割を使用
position = "identity"
とalpha = 0.5
で可能であるが、非推奨
alpha = 1
の場合、棒が不透明であるため、0.5程度に調整ベクトル画像を推奨するが、使用するワードソフトによってはPDFの図の埋め込みができない場合もある。
.png
形式の保存方法について解説する。.pdf
、.svg
など
.png
、.bmp
、.jpg
(= .jpeg
)など
bar_plot3
を保存する例
ggsave()
関数を利用Figs
フォルダにFigure1.png
という名で保存
Figs
フォルダーを作成しておくことJDCat分析ツールを使用する場合、文字化けは生じない
theme_*()
レイヤーを追加し、base_family = "日本語フォント"
を指定theme_gray()
:{ggplot2}の基本テーマ
theme_bw()
、theme_minimal()
など"HiraginoSans-W3"
、Windowsの場合、"Yu Gothic"
を指定