在 ggbreak 中设置刻度值

Set tick values in ggbreak

我正在使用命令 scale_x_break 在 ggplot 中设置轴中断。但是,当前代码在轴断开后的“极值”部分中有太多刻度线。该命令包含一个参数 ticklabels,但出于某种原因,我无法使用它来更改“极端”刻度线,即 -1000、-1010、-1020、-1030、-1040 和 -1050。但是,此命令在轴中断“之前”的 adding/removing 个刻度线中运行良好。恰当的例子:代码部分 ticklabels = c(-5, -1015) 添加 一个 -5 的刻度线并删除所有其他刻度线 轴中断之前, 但在轴断开后不添加 -1015 或删除任何刻度线。

理想情况下,“极端”面板应该有 3 个刻度线:-1000、-1025 和 -1050。

library(ggplot2)
library(ggbreak) 
library(patchwork)

x1 <- c('A', 'B','C', 'D', 'E', 'F', 'G')
y1 <- c(-9.375783475,   6.21616158, -19.32680732,   -8.727239523,   13.93210958,    -1051.866122,   -75.11041633)
df1 <- data.frame(x1, y1)

p1 <- ggplot(df1, aes(y1, x1)) + geom_col(orientation="y")
p2 <- p1 + scale_x_break(c(-1000, -80), ticklabels = c(-5, -1015)) + xlab("relative variable importance") + ylab("commodity network")

p2

您可以将带有指定中断的 scale_x_continuous 添加到 p2

p2 + scale_x_continuous(breaks = c(-1000, -1025, -1050))