Если я построю данные и использую линии для наложения одних и тех же точек данных на графике, я получаю одинаковые точки данных. Допустим,Искажения на многоканальных участках
x<-rnorm(100)
plot(x, type="p")
lines(x, type="p",pch=2)
Однако я понял, что есть искажение R участков, когда то же самое делается в MultiPanel графике. Кажется, что R не может вспомнить точные значения по оси y при повторной печати одних и тех же данных. Простой код ниже показывает, что выходы из «графика» и «линии» не совпадают.
set.seed(1000)
Range<-rbind(rep(0,4),c(100,100,1,100));thres<-70
Ylab<-c("MAD","Bias","CP","CIL")
X<-list(EVI=cbind(runif(10,0,100),runif(10,0,100),
runif(10,0,1),runif(10,0,100)),
Qp=cbind(runif(10,0,100),runif(10,0,100),runif(10,0,1),runif(10,0,100)))
Plot<-function(x,Pch=1,thres)
{
par(mfrow=c(1,4),las=2)
for(j in 1:4)
{
plot(x[,j],xaxt = "n",xlab="Estimator",
ylab=Ylab[j],type = "p", pch = Pch, ylim=Range[,j])
par(mfg=c(1,j))
axis(1, at=1:nrow(x), labels=LETTERS[1:nrow(x)])
if(j!=3){
par(mfg=c(1,j))
abline(h=thres,col=2)
}else{
par(mfg=c(1,j))
abline(h=c(0.90,0.95,0.99),lty=c(2,1,2),col=rep(2,3))
}
}
}
Line<-function(x,Pch)
{
for(j in 1:ncol(x)) {
par(mfg=c(1,j))
lines(x[,j], type = "p", pch = Pch,col=2)
}
}
lapply(X,function(dat)Plot(dat,thres=thres))
## First panel
Line(X$EVI,Pch=2)
## Move to second panel
Line(X$Qp,Pch=2)
Что объясняет искажения в позиционировании точек в третьем столбце? Обратите внимание, что я включил диапазон данных любезности данных @WhiteViking в функцию «Сюжет». Однако искажение продолжает проявляться. Спасибо
Теперь, когда я «Я видел фактический код, который вызвал проблему, я заменил предложенное решение тем, что, на мой взгляд, является лучшим ответом. – WhiteViking