数据包含NA时轴与gap.plot断开

时间:2018-08-25 13:18:50

标签: r axis break

我想用数据包中的gap.plot()的{​​strong> plotrix 中的NAs函数进行x轴断开。 如果没有任何NAs,但我的代码可以正常工作,但是使用NAs可以告诉我:

  

如果(小节)警告(“ x的某些值不会   显示“):参数不能解释为逻辑

它根本不画任何东西。

dt只是示例数据集

dt <- data.frame(c(1.2,NA,5,6,4.3,1),c(22,33,22,25,NA,27))
names(dt) <- c("a","b")

library(plotrix)
gap.plot(dt$a, dt$b, gap=c(1.5,3.5), gap.axis="x",col="blue", ylim=range(c(dt$b)),xtics=c(0:1.5,3.5:6), xticlab=c(0:1.5,3.5:6))

abline(v=1.5, col="white")
abline(v=1.56, col="white", lwd=4)  

axis.break(1,breakpos=1.55,style="slash", brw=0.03)   
axis.break(3,breakpos=1.55,style="slash", brw=0.03)

我必须更改什么?顺便说一句,我不想​​使用ggplot

1 个答案:

答案 0 :(得分:1)

由于要生成散点图,因此必须省略包含NA的行。

例如:

dt <- data.frame(c(1.2,NA,5,6,4.3,1),c(22,33,22,25,NA,27)) 
names(dt) <- c("a","b")

现在删除您的NA:

library(dplyr)

dt <- dt %>%
  na.omit()

图:

library(plotrix)

gap.plot(dt$a, dt$b, gap=c(1.5,3.5), gap.axis="x",col="blue", ylim=range(dt$b) ,xtics=c(0:1.5,3.5:6), xticlab=c(0:1.5,3.5:6))

abline(v=1.5, col="white")
abline(v=1.56, col="white", lwd=4)

axis.break(1,breakpos=1.55,style="slash", brw=0.03)
axis.break(3,breakpos=1.55,style="slash", brw=0.03)

结果:

enter image description here