ggplot2を使って作成したプロットは、マイナーグリッド線の一部を修正しようとしています。離散値とファセットグリッドを持つggplot2のマイナーグリッド線
library(tidyverse)
data(starwars)
starwars = starwars %>%
filter(!is.na(homeworld), !is.na(skin_color)) %>%
mutate(tatooine = factor(if_else(homeworld == "Tatooine", "Tatooine Native", "Other Native")),
skin_color = factor(skin_color))
ggplot(starwars, aes(birth_year, skin_color)) +
geom_point(aes(color = gender), size = 4, alpha = 0.7, show.legend = FALSE) +
facet_grid(tatooine ~ ., scales = "free_y", space = "free_y", switch = "y") +
theme_minimal() +
theme(
panel.grid.major.x = element_blank(),
panel.grid.major.y = element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
strip.placement = "outside",
strip.background = element_rect(fill="gray90", color = "white"),
) +
geom_hline(yintercept = seq(0, length(unique(starwars$skin_color))) + .5, color="gray30")
Y軸はファクタで、ファセットグリッドが使用され、各グリッド内に不均一なカテゴリ数があります。私はgeom_hlineを使ってマイナーなグリッド線を追加しました(私の理解は、panel.grid.minorはカテゴリデータ、つまり因子では機能しません)。
下の黄色の線を削除し、2つのファセットグリッドの間に1本の黒線を追加します(つまり、現在の二重線は黄色で強調表示されています)。
これを行う方法はありますか?私は、データが変更された場合に、任意の行の位置を厳密にコーディングすることを避けることを好むでしょう。ありがとう。動的頂部および底部のグリッド線を取り外し