我想将面标签位置从右更改为顶部。我怎样才能在 ggplot2 下的
gglikert()
下做到这一点
功能?
library(tidyverse)
library(ggstats)
likert_levels <- c(
"Strongly disagree",
"Disagree",
"Neither agree nor disagree",
"Agree",
"Strongly agree"
)
df <-
tibble(
grouping = sample(c("A", "B", "C", "D"), 150, replace = TRUE),
q1 = sample(likert_levels, 150, replace = TRUE),
q2 = sample(likert_levels, 150, replace = TRUE, prob = 5:1),
q3 = sample(likert_levels, 150, replace = TRUE, prob = 1:5),
q4 = sample(likert_levels, 150, replace = TRUE, prob = 1:5),
q5 = sample(c(likert_levels, NA), 150, replace = TRUE),
q6 = sample(likert_levels, 150, replace = TRUE, prob = c(1, 0, 1, 1, 0))
) %>%
mutate(across(-grouping, ~ factor(.x, levels = likert_levels)))
df
ggstats::gglikert(df, q1:q6, facet_rows = vars(grouping))
ggstats::gglikert
在底层使用facet_grid
,但你可以通过用facet_wrap
覆盖来达到你想要的结果:
library(ggstats)
library(ggplot2)
ggstats::gglikert(df, q1:q6, facet_rows = vars(grouping)) +
facet_wrap(~grouping, ncol = 1)