Pour continuer sur les graphiques,
Il est clair que les plot (coinertia...) procurent un resume de ce qui est
disponible, mais le probleme c'est qu'a moins d'avoir un tres grand ecran,
c'est rarement lisible. Je me retrouve souvent, a renomer mon objet x, et a
executer, les graphiques 1 par 1.
Je me demande si on pourrait pas soit inclure un parametre, soit utlise le
par()$ask pour permettre de faire les graphiques un par un au lieu de tous
les avoir sur un layout.
Un exemple avec la coinertie:
data(doubs)
dudi1 <- dudi.pca(doubs$mil, scale = TRUE, scan = FALSE, nf = 3)
dudi2 <- dudi.pca(doubs$poi, scale = FALSE, scan = FALSE, nf = 2)
coin1 <- coinertia(dudi1,dudi2, scan = FALSE, nf = 2)
plot(coin1)
plot2.coinertia=function (x, xax = 1, yax = 2, ...)
{
if (!inherits(x, "coinertia"))
stop("Use only with 'coinertia' objects")
if (x$nf == 1) {
warnings("One axis only : not yet implemented")
return(invisible())
}
if (xax > x$nf)
stop("Non convenient xax")
if (yax > x$nf)
stop("Non convenient yax")
def.par <- par(no.readonly = TRUE)
on.exit(par(def.par))
if(!par()$ask) nf <- layout(matrix(c(1, 2, 3, 4, 4, 5, 4, 4, 6), 3, 3),
respect = TRUE)
par(mar = c(0.1, 0.1, 0.1, 0.1))
s.corcircle(x$aX, xax, yax, sub = "X axes", csub = 2, clab = 1.25)
s.corcircle(x$aY, xax, yax, sub = "Y axes", csub = 2, clab = 1.25)
scatterutil.eigen(x$eig, wsel = c(xax, yax))
s.match(x$mX, x$mY, xax, yax, clab = 1.5)
s.arrow(x$l1, xax = xax, yax = yax, sub = "Y Canonical weights",
csub = 2, clab = 1.25)
s.arrow(x$c1, xax = xax, yax = yax, sub = "X Canonical weights",
csub = 2, clab = 1.25)
}
plot2.coinertia(coin1)
par(ask=T)
plot2.coinertia(coin1)
PS: j'ai pas la derniere version d'ade
Votre avis ?
A+
>Les fonctions génériques
> scatter (acm, coa, pca, pco, fca)
> plot (corkdist, discrimin, dpcoa", foucart, krandtest, mcoa, mfa,
> pcaiv, procuste, pta, rlq, sepan, statis, within)
> kplot (foucart, mcoa, mfa, pta, sepan, sepan.coa, statis)
>qui contiennent des cartes factorielles ne peuvent être satisfaisantes
>directement : il y a trop de conditions numériques possibles pour qu'un
>même graphe puisse satisfaire tous les possibles. Elle sont écrites
>surtout pour donner des indications sur où se trouve l'info utile. Ceci
>permet à l'utilisateur de retrouver rapidement comment est faite une
>partie de la figure qui l'intéresse lui et sera reparamétrée à son goût.
>Par exemple scatter.pco :
>
>function (x, xax = 1, yax = 2, clab.row = 1, posieig = "top",
> sub = NULL, csub = 2, ...)
>{
> if (!inherits(x, "pco")) stop("Object of class 'pco' expected")
> opar <- par(mar = par("mar"))
> on.exit(par(opar))
> coolig <- x$li[, c(xax, yax)]
> s.label(coolig, clab = clab.row)
> add.scatter.eig(x$eig, x$nf, xax, yax, posi = posieig, ratio = 1/4)
>}
Stéphane DRAY
--------------------------------------------------------------------------------------------------
Département des Sciences Biologiques
Université de Montréal, C.P. 6128, succursale centre-ville
Montréal, Québec H3C 3J7, Canada
Tel : (514) 343-6111 poste 1233 Fax : (514) 343-2293
E-mail : stephane.dray@umontreal.ca
--------------------------------------------------------------------------------------------------
Web http://www.steph280.freesurf.fr/
--------------------------------------------------------------------------------------------------
This archive was generated by hypermail 2b30 : Mon Nov 08 2004 - 17:57:29 MET