Re: Une question sur les étiquettes dans les graphiques

From: Daniel Chessel (chessel@biomserv.univ-lyon1.fr)
Date: Mon Nov 08 2004 - 09:35:43 MET

  • Next message: Stephane DRAY: "Re: Une question sur les étiquettes dans les graphiques"

    At 15:35 07/11/2004 +0100, Jean Vidal wrote:
    >Bonjour,
    >
    >Dans les graphes d'analyses factorielles, type scatter.dudi, chaque étiquette est entourée d'un rectangle opaque. Ceci peut devenir gênant quand certains points sont proches les uns des autres. J'avais pris l'habitude, dans les versions précédentes de mettre en commentaires les lignes suivantes de manière à n'avoir que le texte.
    >
    >############ scatterutil.eti.circ #################
    >[...]
    ># rect(x1 - xh/2, y1 - yh, x1 + xh/2, y1 + yh, col = "white",
    ># border = 1)
    >[...]
    ># rect(x1 - xh/2, y1 - yh/2, x1 + xh/2, y1 + yh/2, col= "white", border = coul[i])
    >
    >La nouvelle version des packages de R rend cette intervention sur le source des fonctions difficile (sans doute pas impossible, mais ???).
    >N'y aurait-il pas possibilité d'ajouter une option générale qui permette d'afficher les labels avec ou sans la "boite" ?
    >Peut-être existe-t-elle déjà, mais dans ce cas je n'ai pas été capable de la trouver dans la documentation.

    Merci à J. Vidal de ses commentaires : si, si, ça fait du bien.

    La réponse de Clément Calenge à
    http://pbil.univ-lyon1.fr/ADE-4/adelisthtmlannuel/03/0145.html
    est toujours d'actualité.

    Suite à l'intervention de A. Cuhlane
    http://pbil.univ-lyon1.fr/ADE-4/adelisthtmlannuel/04/0029.html
    on peut utiliser scatter.util avec le paramètre boxes = FALSE pour enlever les cadres mais ceci n'a pas été fait pour scatterutil.eti.circ qui n'est utilisé qu'avec les cercles de corrélation.

    L'intervention de C. Laurent donne des solutions à
    http://pbil.univ-lyon1.fr/ADE-4/adelisthtmlannuel/04/0074.html

    La question posée est multiple et permet de souligner des éléments généraux. En prime, elle met en évidence un bug récurrent dans la librairie.

    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)
    }

    Dans une pco, seules les composantes $li et $eig sont signifiantes. Le bug ? Le paramètre ... permet de passer des paramètres au s.label qui est dedans et n'a pas été utilisé. On corrigera.

    Autre généralité : l'usage des étiquettes est ou n'est pas pertinent. Si les lignes sont des échantillons sans personnalité, il vaut mieux les enlever et décrire leur dispersion (voir s.hist ou s.kde2d , sur une idée d'Alain Guerreau). Les analyses sont destinées plus à définir une structure qu'à donner une position à chaque point, en ce sens la question des étiquettes n'est pas fondamentale. C'est un point de vue.

    On peut débattre de l'option par défaut : j'avais l'impression que les cadres superposées sont moins perturbants que les étiquettes superposées. Ce n'est peut-être pas l'opinion de tout le monde ?

    Daniel Chessel - chessel@biomserv.univ-lyon1.fr



    This archive was generated by hypermail 2b30 : Mon Nov 08 2004 - 09:37:13 MET