簡體   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