r - 增加 y 轴刻度标签 ggplot2 上的间距

标签 r ggplot2 axis-labels spacing

<分区>

我想增加 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

最佳答案

这是我能想到的最好的。这会将刻度标签的数量减少到 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()

reprex package 创建于 2021-03-25 (v1.0.0)

关于r - 增加 y 轴刻度标签 ggplot2 上的间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43623815/

相关文章:

R/ggplot2/geom_密度 : how to use values in cells rather than number of entries

R ggplot : How can I create conditional labeling for a continuous axis ticks

r - ECB 是否可以在激活时仅限于 "take over"当前缓冲区?

html - 使用R和plot.ly,如何将多个htmlwidgets保存到我的html中?

r - sweave 和 ggplot2 : no pdfs generated at all

r - ggplot2 堆叠条形图未按手动定义的因子顺序排序

r - 如何在 R read.csv 中为轴标签添加多个下标?

r - 自定义 ggplot2 Axis 和标签格式

r - 了解为 scale_fill_continuous_divergingx 输入的用于处理颜色边距的参数

c++ - 在 Rcpp 中连接和列出