增加y轴刻度标签ggplot2上的间距
Posted
技术标签:
【中文标题】增加y轴刻度标签ggplot2上的间距【英文标题】:Increase spacing on y axis tick labels ggplot2 【发布时间】:2017-09-23 05:51:04 【问题描述】:我想增加 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()
【问题讨论】:
刻度之间的空间,取决于图形宽度和高度之间的比率。因此,您可以使用纵向格式以所需格式导出图形。您还可以在主题选项中减小 y 轴标签的大小 @timat,如果我要横向导出,它也会重叠。这就是为什么我希望 y 轴伸展 我再说一遍,刻度线之间的间距直接取决于图表的“宽度和高度”..即使您手动绘制它..所以您需要纵向(或自定义) ,或者如果你想要一个肖像,一个非常非常大的屏幕..(就像你用手画一样)。使用纵向、伸展 y 轴或伸展 R studio windows y 轴有什么区别? 【参考方案1】:这是我能想到的最好的。这将刻度标签的数量减少到 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 (v1.0.0) 于 2021-03-25 创建
【讨论】:
以上是关于增加y轴刻度标签ggplot2上的间距的主要内容,如果未能解决你的问题,请参考以下文章
R语言ggplot2可视化时间序列散点图X轴和Y轴都是时间信息使用labels参数在scale_y_datetime函数中自定义指定Y轴时间信息轴标签刻度显示的格式