使用辅助轴时有多条网格线

问题描述 投票:0回答:1

我有以下

ggplot

library(ggplot2)
ggplot (structure(list(Group1 = c('A','B', 'B','A', 'B','B', 'A', 'B', 'B'), Val = c(40.707, -22.513, -3.501, -12.884, -19.668,
-5.976, -16.721, -15.838, -5.59)), row.names = c(NA, -9L), class = "data.frame"), aes (x = Group1, y = Val)) +
geom_line () +
scale_y_continuous (breaks = c(0, -22.51, 20.31, 41.72, 63.13, 84.54) ,
sec.axis = sec_axis(~.,
breaks = c(0, -22.51, 20.31, 41.72, 63.13, 84.54)))

上面的代码生成下面的图

enter image description here

如您所见,在 20.31 和 0 等点附近有多条水平网格线。

您能帮助了解它们来自哪里以及如何摆脱它们吗?

r ggplot2
1个回答
0
投票

该问题与次轴无关。附加网格线是由于不规则(主要)中断而可见的次要网格线。您可以使用例如删除它们

minor_breaks=NULL

library(ggplot2)

ggplot(structure(list(Group1 = c("A", "B", "B", "A", "B", "B", "A", "B", "B"), Val = c(
  40.707, -22.513, -3.501, -12.884, -19.668,
  -5.976, -16.721, -15.838, -5.59
)), row.names = c(NA, -9L), class = "data.frame"), aes(x = Group1, y = Val)) +
  geom_line() +
  scale_y_continuous(
    breaks = c(0, -22.51, 20.31, 41.72, 63.13, 84.54),
    sec.axis = sec_axis(~.,
      breaks = c(0, -22.51, 20.31, 41.72, 63.13, 84.54)
    ),
    minor_breaks = NULL
  )

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.