如何更改 R 中 likert() 对象上 y 轴文本标签的大小?

How can I change size of y-axis text labels on a likert() object in R?

我正在使用 likert() 库在 R 中生成美观的发散堆积条形图。大部分格式都已整合在一起,但我似乎找不到缩小文本的方法y 轴标签(例如“您和您在英国的家人”、“您当地的人……”等)对于绘图来说太大了。这里有什么想法吗?我开始怀疑我是否需要恢复到 ggplot,这将需要更多代码,但具有更多可定制性...

# Ingest data to make reproducible example:

climate_experience_data <- structure(list(Q25_self_and_family = c(4, 2, 3, 5, 3, 3, 4, 2, 
4, 2, 4, 4, 3, 3, 2, 5, 3, 4, 1, 3, 3, 2, 4, 2, 2, 2, 4, 3, 3, 
3, 2, 5, 5, 4, 2, 2, 2, 3, 1, 3, 2, 1, 2, 4, 2), Q25_local_area = c(3, 
3, 3, 5, 3, 2, 4, 2, 4, 2, 4, 3, 2, 3, 2, 5, 4, 5, 1, 4, 3, 3, 
4, 2, 3, 2, 3, 3, 2, 3, 2, 5, 5, 2, 2, 2, 2, 3, 1, 1, 2, 1, 2, 
4, 3), Q25_uk = c(4, 3, 3, 5, 2, 3, 5, 2, 4, 2, 4, 3, 3, 3, 3, 
5, 4, 5, 2, 3, 3, 2, 4, 2, 4, 3, 4, 3, 2, 4, 4, 5, 5, 4, 3, 3, 
2, 4, 2, 5, 2, 2, 2, 3, 3), Q25_outside_uk = c(4, 4, 3, 5, 4, 
4, 5, 2, 4, 3, 3, 3, 3, 4, 3, 5, 4, 5, 4, 3, 3, 2, 4, 2, 5, 3, 
3, 2, 2, 3, 4, 4, 5, 4, 4, 3, 2, 4, 4, 5, 2, 3, 2, 2, 2)), row.names = c(NA, 
-45L), class = c("tbl_df", "tbl", "data.frame"))

# load libraries:

require(tidyverse)
require(likert)

# Q25 - generate diverging stacked bar chart using likert()
q25_data <- select(climate_experience_data, Q25_self_and_family:Q25_outside_uk)
names(q25_data) <- c("You and your family in the UK", "People in your local area or city", "The UK as a whole", "Your family and/or friends living outside the UK")
# Set up levels text for question responses
q25_levels <- paste(c("not at all", "somewhat", "moderately", "very", "extremely"),  
                    "serious")
q25_likert_table <- q25_data %>% 
  mutate(across(everything(), 
                factor, ordered = TRUE, levels = 1:5, labels=q25_levels)) %>% 
  as.data.frame %>%

# make plot:

plot(q25_likert_table, wrap=20, text.size=3, ordered=FALSE, low.color='#B18839', high.color='#590048') + 
  ggtitle(title) +
  labs(title = "How serious a threat do you think \nclimate change poses to the following?", y="") + 
  guides(fill = guide_legend(title = NULL)) + 
  theme_ipsum_rc() +
  theme()

这是一个输出示例:

由于您的绘图仍然是一个 ggplot 对象,您可以通过 theme(axis.text.y = ...):

调整 y 轴标签的大小
library(tidyverse)
library(likert)
library(hrbrthemes)

q25_likert_table <- q25_data %>%
  mutate(across(everything(),
    factor,
    ordered = TRUE, levels = 1:5, labels = q25_levels
  )) %>%
  as.data.frame() %>% 
  likert()

plot(q25_likert_table, wrap = 20, text.size = 3, ordered = FALSE, low.color = "#B18839", high.color = "#590048") +
  ggtitle(title) +
  labs(title = "How serious a threat do you think \nclimate change poses to the following?", y = "") +
  guides(fill = guide_legend(title = NULL)) +
  theme_ipsum_rc() +
  theme(axis.text.y = element_text(size = 4))