CA, provide a default TXM style for CA plane points to guide factorial plane analysis
A default style has been implemented with the help of the ACompileStyle and CAStyle macros.
Specification
FR:
Le style par défaut de TXM est conçu comme une interprétation statique des procédures d'interprétation des AFC présentées dans la section "5.- LES AIDES A L'INTERPRETATION", pages 89-95 (jointe à ce ticket) du livre Volle, M. (1997). Analyse Des Données. Economica. ISBN 2-7178-3212-2.
Elle peut être utilisée comme aide à imprimer ou à afficher en diapositive.
L'interprétation dynamique des procédures d'interprétation des AFC de Michel Volle fera l'objet d'un autre ticket sur la stratégie d'interprétation interactive des AFC dans TXM. Exemple pour un axe 𝛼 :
- trier les points par CTR𝛼 décroissants
- sélectionner les I' premiers points jusqu'à Σ(CTR𝛼) = 0.8
- séparer I' en deux groupes de points {coordonnées négatives, coordonnées positives}
- pour chaque groupe, analyser les CO2𝛼 les plus forts -> dont le rôle est important pour la création de l'axe
- analyser les CO2𝛼 les plus forts en dehors de I' -> contribuent peu à l'axe mais l'illustrent
Règles de stylage des points-colonnes (présidents de VOEUX)
Les règles de stylage du fichier rules-VOEUX-axe1.groovy ont la forme suivante :
["shape-replacement", """return("disk")"""],
["transparency", """int_linear_min(parseFloat(c("Q12")), colsMax("Q12"), 10, 255)"""],
["shape-color", """mapValue(Pol2ColorMap, c("pol"), "0 0 0")+" "+c("transparency")"""],
["shape-size", """float_linear_min(parseFloat(c("Cont1")), colsMax("Cont1"), 1, 5)"""],
["label-size", """float_linear_min(parseFloat(c("Cont1")), colsMax("Cont1"), 1, 5)"""],
["label-color", """"0 0 0"+" "+c("transparency")"""]
Les règles s'appuient sur un tableau d'entrée qui sert aussi de sortie.
Les cellules du tableau sont accédées par la méthode c("nom de colonne")
.
Les règles sont de la forme : <nom de la colonne à alimenter ou à créer dans le tableau>
, <code Groovy pour calculer la valeur>
Les calculs prennent en entrée :
- les entrées du tableau de données d'interprétation des point-colonnes de l'AFC : Q12, Cont1
- des entrées supplémentaires obtenues par jointure entre le nom des point-colonnes et un tableau annexe : ici la colonne 'pol' des métadonnées du corpus VOEUX, ou propriété 'pol' de la structure 'text' à l'origine de la partition utilisée pour l'AFC
- des valeurs de styles possibles : disk
- des color maps : Pol2ColorMap
- des entrées intermédiaires ajoutées par des règles : ici la colonne 'transparency'
Voici l'interprétation de chaque règle :
- shape-replacement
- point en forme de disque
- disk
- une des formes disponibles pour les formes de points
- disk
- calcul final :
return("disk")
- point en forme de disque
- transparency
- valeur alpha de la couleur du point : la transparence du point est proportionnelle à la qualité de sa représentation sur le plan 1-2
- projection linéaire de la valeur de Q12 (qualité de représentation sur le plan 1-2) vers l'intervale de valeurs alpha [10, 255] : soit Q12:[min Q12, max Q12] vers alpha:[min alpha = 10, max alpha = 255]
- la projection s'exprime par : y = x*(max_output-min_output)/max_input+min_output
- soit l'appel de
int_linear_min(parseFloat(c("Q12")), colsMax("Q12"), 10, 255)
- max_output = 255
- min_output = 10
- max_input = colsMax("Q12") = max(c("Q12"))
- projection linéaire de la valeur de Q12 (qualité de représentation sur le plan 1-2) vers l'intervale de valeurs alpha [10, 255] : soit Q12:[min Q12, max Q12] vers alpha:[min alpha = 10, max alpha = 255]
- calcul final :
int_linear_min(parseFloat(c("Q12")), colsMax("Q12"), 10, 255)
- valeur alpha de la couleur du point : la transparence du point est proportionnelle à la qualité de sa représentation sur le plan 1-2
- shape-color
- couleur du point : on rend compte de l'orientation politique par :
- a) la couleur : rose si pol=G, bleu si pol=D, pol est une propriété de text, une métadonnée de VOEUX
- soit l'appel d'un mapping :
mapValue(Pol2ColorMap, c("pol"), "0 0 0")
- Pol2ColorMap = [G:rose, D:bleu]
- c("pol") : contenu de la colonne "pol"
- "0 0 0" : valeur par défaut (couleur noire) si clé pas trouvée dans la hashmap
- soit l'appel d'un mapping :
- b) la transparence par ajout de la valeur alpha de la couleur
- soit : +" "+c("transparency")"""]
- a) la couleur : rose si pol=G, bleu si pol=D, pol est une propriété de text, une métadonnée de VOEUX
- calcul final :
mapValue(Pol2ColorMap, c("pol"), "0 0 0")+" "+c("transparency")
- couleur du point : on rend compte de l'orientation politique par :
- shape-size
- taille du point : la taille du point est proportionnelle à la contribution du point à l'axe 1
- projection linéaire : Cont1:[min Cont1, max Cont1] vers taille:[min taille = 1, max taille = 5]
- la projection s'exprime par : y = x*(max_output-min_output)/max_input+min_output
- soit l'appel de
float_linear_min(parseFloat(c("Cont1")), colsMax("Cont1"), 1, 5)
- max_output = 5
- min_output = 1
- max_input = colsMax("Cont1") = max(c("Cont1"))
- projection linéaire : Cont1:[min Cont1, max Cont1] vers taille:[min taille = 1, max taille = 5]
- calcul final :
float_linear_min(parseFloat(c("Cont1")), colsMax("Cont1"), 1, 5)
- taille du point : la taille du point est proportionnelle à la contribution du point à l'axe 1
- label-size
- taille du label : la taille du label est proportionnelle à la contribution du point à l'axe 1
- exactement le même calcul que la taille du point
- soit l'appel de
float_linear_min(parseFloat(c("Cont1")), colsMax("Cont1"), 1, 5)"""]
- remarque : aurait pu/du être ici
return(c("shape-size"))
pour ne pas faire le calcul deux fois
- soit l'appel de
- exactement le même calcul que la taille du point
- calcul final :
float_linear_min(parseFloat(c("Cont1")), colsMax("Cont1"), 1, 5)
- taille du label : la taille du label est proportionnelle à la contribution du point à l'axe 1
- label-color
- couleur du label : couleur fixe mais dépendant de la transparence
- a) noir
- "0 0 0"
- b) ajout de la valeur alpha pour la transparence
- +" "+c("transparency")"""]
- a) noir
- calcul final :
"0 0 0"+" "+c("transparency")
- couleur du label : couleur fixe mais dépendant de la transparence
Prototype
The CACompileStyle macro and the CAStyle macro have been used to prototype a default CA style setup for TXM: