[英]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.