首页 > 解决方案 > Y 轴刻度线间距太近。我如何将它们隔开?

问题描述

本赛季到目前为止,我正在尝试为 Steph 绘制 3 点线图,但是 y 轴刻度的间距太近了。 线形图。我确信有一个相对简单的解决方法。我还想知道如何在 x 轴上仅标记第 1 场和第 29 场比赛,而不是每场比赛。我希望这是足够的信息来回答,如果不告诉我!干杯。

ggplot(data=Top_10, aes(y=Stephen_Curry, x=Game_Number, group=1)) +
 geom_line(color="blue") +
 geom_point(color="black") +
 scale_x_discrete(limits = c("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29")) +
 scale_y_continuous(breaks=seq(0,15,1)) +
 theme(axis.text.y = element_text(margin = margin(r=5)))

标签: rggplot2

解决方案


没有任何示例数据,我只能猜测默认缩放不起作用的原因是什么。

但是,基于这个随机示例数据集,我能够“复制”您的问题:

library(ggplot2)

set.seed(42)

Top_10 <- data.frame(
  Game_Number = factor(1:30, levels = 1:30),
  Stephen_Curry = c(sample(0:15, 29, replace = TRUE), 100)
)

ggplot(data=Top_10, aes(y=Stephen_Curry, x=Game_Number, group=1)) +
  geom_line(color="blue") +
  geom_point(color="black") +
  scale_x_discrete(limits = as.character(1:29)) +
  scale_y_continuous(breaks=seq(0,15,1)) +
  theme(axis.text.y = element_text(margin = margin(r=5)))
#> Warning: Removed 1 row(s) containing missing values (geom_path).
#> Warning: Removed 1 rows containing missing values (geom_point).

要解决此问题,您可以将 y 比例的限制设置为c(0, 15),对于您的 x 轴问题,您可以将中断设置为c("1", "29")

ggplot(data=Top_10, aes(y=Stephen_Curry, x=Game_Number, group=1)) +
  geom_line(color="blue") +
  geom_point(color="black") +
  scale_x_discrete(breaks = c("1", "29"), limits = as.character(1:29)) +
  scale_y_continuous(breaks=seq(0,15,1), limits = c(0, 15)) +
  theme(axis.text.y = element_text(margin = margin(r=5)))
#> Warning: Removed 1 row(s) containing missing values (geom_path).

#> Warning: Removed 1 rows containing missing values (geom_point).


推荐阅读