在ggplot2中增加y轴刻度标签的间距

3

我希望增加y轴刻度之间的间距,以使图表(标签)更易读。我该如何实现这一目标?

packages_list <- c("dplyr", "data.table", "ggplot2", "mondate", "tidyr", 
"lubridate", "stringr", "ggrepel")
lapply(packages_list, require, character.only = TRUE)

company <- paste(1:61, rep(LETTERS), sep = "")
mort_table <- rep_len(c(6065, 7680, 8590, 9500), length.out = 61)
disc_rate <-  rep_len(c(3,4), length.out = 61)

data <- data_frame(company = company, disc_rate = disc_rate, mort_table = 
mort_table)
ggplot(data, aes(x = company, y= disc_rate, label = disc_rate)) + 
  geom_point(aes(color = factor(mort_table)), size = 6, show.legend = T) + 
  geom_text(color = "white", size = 1.5) +
  geom_hline(yintercept=3.5, size=1, linetype="dotted", color="red") +
  theme(panel.grid.major.x = element_line(), legend.position = "top") + 
  coord_flip()

enter image description here


2
引号之间的空格取决于图形宽高比。因此,您可以使用纵向格式将图形导出到所需的格式。此外,您还可以在主题选项中减小y轴标签的大小。 - timat
@timat,如果我选择横向导出,也会重叠。这就是为什么我想要拉伸y轴的原因。 - Arthur Rose
1
我再次强调,刻度之间的间距直接取决于图表的“宽度和高度”.. 即使您手绘它.. 因此,您需要纵向方向(或自定义),或者如果您想要纵向方向,则需要非常非常大的屏幕.. (与手绘相同)。使用纵向方向、拉伸y轴或拉伸R studio窗口y轴之间有什么区别? - timat
1个回答

0

这是我能想到的最好方案。它将刻度标签的数量减少到5个。

library(ggplot2)
library(dplyr, warn.conflicts = FALSE)
library(forcats)

company <- paste(1:61, rep(LETTERS), sep = "")
mort_table <- rep_len(c(6065, 7680, 8590, 9500), length.out = 61)
disc_rate <-  rep_len(c(3,4), length.out = 61)

data <- tibble(company, disc_rate, mort_table) 

axis_levels <- 
    data %>%
    mutate(company = fct_inorder(company)) %>%
    pull(company) %>%
    .[seq(1, nlevels(.), length = 5)] %>%
    as.character()

data %>%
    mutate(company = fct_inorder(company)) %>%
    ggplot(aes(x = company, y = disc_rate, label = disc_rate)) + 
    geom_point(aes(color = factor(mort_table)), size = 6, show.legend = TRUE) + 
    geom_text(color = "white", size = 1.5) +
    geom_hline(yintercept = 3.5, size = 1, linetype = "dotted", color = "red") +
    theme(panel.grid.major.x = element_line(), legend.position = "top") + 
    scale_x_discrete(breaks = axis_levels) +
    coord_flip()

2021年03月25日由reprex package (v1.0.0)创建


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接