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:
Les styles par défaut de TXM peuvent être utilisés dans deux contextes d'usage différents :
- A) dans un parcours interactif d'interprétation de sorties d'AFC (graphiques & données) à travers l'UI de TXM (où les besoins de stylage peuvent évoluer de façon dynamique au fil du parcours)
- B) dans des graphiques et données de plans statiques imprimés ou affichés dans une diapositive de présentation
- on peut distinguer par ailleurs pour cet usage des styles spécifiques à l'affichage écran et à l'impression papier noir&blanc ou en niveaux de gris qui peut nécessiter des styles adaptés
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:
Edited by Serge Heiden