R需要在y轴上加一个断点

R需要在y轴上加一个断点,r,plotrix,R,Plotrix,我需要在y轴上设置一个介于25000和200000之间的断点。这是代码,我不明白为什么它没有给出我需要的y轴。我需要第一部分以5000步从0到25000,第二部分以500K步从200000到200万 x <- c(1000000, 5000000, 10000000, 15000000, 20000000, 25000000, 30000000, 35000000, 40000000, 45000000, 50000000, 55000000, 6000000

我需要在y轴上设置一个介于25000和200000之间的断点。这是代码,我不明白为什么它没有给出我需要的y轴。我需要第一部分以5000步从0到25000,第二部分以500K步从200000到200万

x <- c(1000000, 5000000, 10000000, 15000000, 20000000, 25000000, 
       30000000, 35000000, 40000000, 45000000, 50000000, 55000000,
       60000000, 65000000, 70000000, 75000000, 80000000, 85000000,
       90000000, 95000000, 100000000)

y <- c(3305.8, 4175.4, 4175.4, 4201.7, 4201.7, 23529.4, 23529.4, 23529.4, 23529.4,
       23529.4, 23529.4, 23529.4, 23529.4, 23529.4, 23529.4, 23529.4, 23529.4,
       285714.3, 2000000.0, 2000000.0, 2000000)

library(plotrix)
gap.plot(x, y, gap = c(25000, 200000), gap.axis = "y", ylim = c(0, 2000000),
             ytics = c(seq(0, 25000, by = 5000), seq(200000, 2000000, by = 500000)))
        axis.break(axis = 2, breakpos = 25000, style = "slash")

您可以为此问题创建一些变通方法。我假设你想让情节更具可读性。可以减小非常大的值的大小,使其与较小的值更具可比性,同时保留原始轴标签。就是

y2 <- ifelse(y>25000, y/100 + 25000, y)
gap.plot(x,y2,gap=c(25000,25000), gap.axis="y",ylim=c(0,2000000/100 + 25000),
         ytics=c(seq(0,25000,by=5000),seq(27000,45000,by=5000)),
         yticlab=c(seq(0,25000,by=5000),seq(200000,2000000,by=500000)))
axis.break(axis=2,breakpos=25000,style="slash")

当最大值为200万时,隐式缩放将不允许25000非常高。你应该更好地解释你的期望。axis.break或gap.plot似乎不允许在不同高度使用不同的比例。您确实不应该在一个绘图上放置不同的比例。一个地块上的数据应具有可比性。要么把它们分开,要么用一个秤。好多了!非常感谢。