繁体   English   中英

中断绘图中的x轴

[英]Break x-axis in plot

我想破坏使用函数plot.stepfun的累积分布函数的图的x轴,但似乎无法弄清楚该怎么做。

这是一些示例数据:

set.seed(1)
x <- sample(seq(1,20,0.01),300,replace=TRUE)

然后,我使用函数ecdf获得x的经验累积分布函数:

x.cdf <- ecdf(x)

我之类的改变x.cdf到stepfun,因为我更愿意称plot.stepfun直接在使用plot.ecdf (也使用plot.stepfun ,但机会比较少定制的情节)。

class(x.cdf) <- "stepfun"

然后,我可以按如下方式创建图:

 plot(x.cdf, do.point=FALSE)

但是现在我想将x轴分解为12到20之间,例如使用axis.break [plotrix-library],例如here ,但是由于我没有用于绘制的普通x和y参数,所以我不知道如何去做这个。

任何帮助将不胜感激!

对我而言,“在12到20之间断开轴”没有太大意义,因为20是x范围的终点,因此我将举例说明在12到15之间断开轴。plotrix.axis.break函数不会实际上确实做了很多(如果您逐步看一下该示例,就可以看到。)它所做的只是在特定位置(“ breakpos”)放置了两个斜杠。 所有其余的工作都需要使用常规的绘图功能完成,并且plot.stepfun并未真正做到这一点,因此我将使用带有type =“ s”参数的常规plot.default。 您需要对x值,ecdf函数的自变量以及轴自变量中的标签进行偏移。

png()
 plot( c(seq(1,12,0.1), seq(15,20,0.1)-3),  # Supply the range, shifted
         x.cdf(c(seq(1,12,0.1), seq(15,20,0.1))),  # calc domain values, not shifted
         type="s",  xaxt="n", xlab="X", ylab="Quantile")
 axis(1, at=c( 1:12, (16:20)-3), labels=c(1:12, (16:20)) ) #shift x's, labels unshifted
 axis.break(breakpos=12)
dev.off()

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM