У меня разочаровывающий опыт, когда я пытаюсь использовать par (mfg) для перемещения между сюжетными линиями фигуры. Кажется, что изменение графика, над которым я работаю, с помощью этой команды сбрасывает что-то в способе указания осей y, так что вызов ylim=c(a,b) бесполезен. Этот поток (озадачен поведением xlim/ylim в R) заставляет меня полагаю, что здесь может играть роль asp, но я не могу понять, как и как исправить ошибку.
Вкратце, чтобы отобразить результаты плотности () для нескольких наборов данных на двух подграфиках одного окна, я написал цикл, который увеличивает два списка выходных данных от плотности (), добавляя новые строки к подграфику 1, затем к подграфику 2, затем обратно к подучастку 1 и т. д.
DATA.A<-vector("list",length=6)
DATA.B<-vector("list",length=6)
par(mfrow=c(2,1))
plot(0,0, main="title", xlab="X", ylab="Y", xlim=c(c,d), ylim=c(0,30))
plot(0,0, main="title", xlab="X", ylab="Y", xlim=c(c,d), ylim=c(-5,5))
for(i in 1:6){
DATA.A[[i]]<-density(RAWDATA.A[[i]][,"varname"], from=c, to=d, by=e)
DATA.B[[i]]<-density(RAWDATA.B[[i]][,"varname"], from=c, to=d, by=e)
par(mfg=c(1,1))
lines(DATA.A[[i]]$x,DATA.A[[i]]$y,ylim=c(0,30),col="black", lty=i)
lines(DATA.B[[i]]$x,DATA.B[[i]]$y,ylim=c(0,30),col="red", lty=i)
par(mfg=c(2,1))
lines(DATA.A[[i]]$x,DATA.B[[i]]$y-DATA.A[[i]]$y,
ylim=c(-5,5), col="red", lty=i)
abline(v=median(RAWDATA.A[[i]][,"varname"]),lty=i, col="black")
}
РЕДАКТИРОВАТЬ: я понимаю, что он не работает в основном для первого подграфика, где предполагается отображать плотности в диапазоне от 0 до 30, но вместо этого всегда сбрасывает ось в диапазоне от -1 до 1. График вызова (0,0) , метки y соответствуют значениям ylim, которые я предоставляю, но данные отображаются в диапазоне от -1 до 1. Буду очень благодарен за любые предложения.