Identification des titres des titres de page de Graph BuilderDans le graphique suivant, je souhaite pouvoir identifier les titres des pages :

c'est-à-dire "sexe = F" et "sexe = M".
En regardant l'arborescence d'affichage, il semblerait que les titres soient associés à une boîte d'affichage de type GraphBuilderGroupBox :

J'ai le script suivant :
Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Size( 378, 714 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :height ), Y( :weight ), Page( :sex ) ),
Elements( Points( X, Y, Legend( 8 ) ), Smoother( X, Y, Legend( 9 ) ) )
);
rep = gb << report;
lst = rep << xpath("//GraphBuilderGroupBox");
for (i=1,i<=nitems(lst),i++,
title = lst[i] << get text;
)
Malheureusement cela ne fonctionne pas (title = "" pour les deux pages).
Est-ce que quelqu'un a des suggestions?
Merci,
David
Personnalisation de masseRe : Identification des titres des titres de page de Graph BuilderMerci @Craige_Hales - on dirait que ce sera une solution réalisable.
Re : Identification des titres des titres de page de Graph BuilderMerci pour cette suggestion @ih . La raison spécifique pour laquelle je souhaite obtenir les titres des pages est que je ne connais pas à l'avance la liste des valeurs potentielles (c'est-à-dire pageOrder dans cet exemple).Dans l'exemple réel, le graphique comporte plus de 400 pages (ne me demandez pas pourquoi quelqu'un veut un graphique de cette taille !) et le nombre de pages change en fonction d'un filtre de données local.Si tout le reste échoue, je recommencerai à essayer de construire cette liste - pour ma première tentative, ma liste contenait environ 460 éléments et le graphique ne comptait que 407 pages - peut-être que certaines combinaisons ont été exclues en raison de données manquantes - je n'ai pas enquêté sur ce point pourtant - j'essaie toujours de trouver le chemin de la moindre résistance !
Re : Identification des titres des titres de page de Graph BuilderPour les variables de page, de groupe et de retour à la ligne, vous pouvez définir une propriété de colonne définissant l'ordre des valeurs, puis l'utiliser pour être sûr de quel tracé correspond à quel tracé.De toute façon, je souhaite souvent modifier les noms des colonnes ou des niveaux et maintenant tout cela peut être fait dans une colonne de transformation :
Open("$SAMPLE_DATA/Big Class.jmp");
pageOrder = {"Female", "Male"};
Eval( Eval Expr(
gb = Graph Builder(
Size( 378, 714 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables(
X( :height ),
Y( :weight ),
Page( Transform Column( "Respondent Sex", Nominal, Set Property("Value Order", {Custom Order( Expr( pageOrder ))}), Formula( if(:sex=="M", "Male", "Female" ) ) ) )
),
Elements( Points( X, Y, Legend( 8 ) ), Smoother( X, Y, Legend( 9 ) ) )
)
) );
Remarque latérale : le GraphBuilderGroupBox que vous avez référencé ne contient probablement pas ce texte, notez que si vous définissez la visibilité sur masqué, le titre est toujours là. Je pense que cet élément n'apparaît tout simplement pas dans l'arborescence, un peu comme les points individuels n'y figurent pas.Ce serait bien si les deux étaient accessibles !
Re : Identification des titres des titres de page de Graph BuilderOuah! C'est une boîte peu coopérative ! Essayez d'utiliser rep<
@XanGregg la boîte en question se transforme en quelque chose de plus convivial une fois journalisée. Mais isolément, dans le générateur de graphiques en direct, il ne dira rien de lui-même.
Re : Identification des titres des titres de page de Graph BuilderC'est un élément auquel je n'ai pas compris comment accéder directement avec la couche de rapport ou XPath. //GraphBuilderGroupBox < . Je ne sais pas s'ils pourraient être construits d'une manière ou d'une autre en utilisant Get Variables
Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Size( 378, 714 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :height ), Y( :weight ), Page( :sex ) ),
Elements( Points( X, Y, Legend( 8 ) ), Smoother( X, Y, Legend( 9 ) ) )
);
gbb = Report(gb)[Graph Builder Box(1)];
Show(gbb << get variables);
Show(gbb << get variable(1));