在 R 中的 ggplot2 中将面标签的位置从右更改为顶部

问题描述 投票:0回答:1

我想将面标签位置从右更改为顶部。我怎样才能在 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))

enter image description here

r ggplot2 facet facet-wrap
1个回答
0
投票

ggstats::gglikert
在底层使用
facet_grid
,但你可以通过用
facet_wrap
覆盖来达到你想要的结果:

library(ggstats)
library(ggplot2)

ggstats::gglikert(df, q1:q6, facet_rows = vars(grouping)) +
  facet_wrap(~grouping, ncol = 1)

© www.soinside.com 2019 - 2024. All rights reserved.