modifier dynamiquement les options Dispatch() envoyées à GraphBuilderJe dois modifier certaines des options envoyées au Graph Builder en fonction des options du script.Je n'arrive pas à comprendre comment le faire fonctionner.
Ce script permet de créer le graphique Scale("Log"), Format("Engineering", 12) :
Graph Builder(
Variables(
X( :Split ),
X( :Wafer, Position( 1 ) ),
Y( As Column( analysisTests[i] ) ),
Color( :Split )
),
Elements(
Points( X( 1 ), X( 2 ), Y, Legend( 21 ) ),
Box Plot( X( 1 ), X( 2 ), Y, Legend( 22 ) )
),
SendToReport(
Dispatch(
{},
analysisTests[i],
ScaleBox,
{Scale("Log"), Format("Engineering", 12)}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( title )}
)
)
)
Mais lorsque j'essaie d'envoyer ces informations comme ceci, cela ne fonctionne pas, même si cela me semble identique :
ScaleboxVariables = {};<BR />if(log != 0,
ScaleboxVariables = Insert(ScaleboxVariables, Expr(Scale("Log")) );
ScaleboxVariables = Insert(ScaleboxVariables, Expr(Format( "Engineering", 12 )) );
);
Dispatch(
{},
analysisTests[i],
ScaleBox,
ScaleboxVariables
),
Toute aide à ce sujet serait appréciée !
Personnalisation de masseRe : modifier dynamiquement les options Dispatch() envoyées à GraphBuilderMerci Mark, cela a été très utile. J'ai construit les graphiques dont j'avais besoin dans le générateur de graphiques, puis j'ai copié le script généré par JMP, puis je l'ai modifié avec mes propres variables sans le faire fonctionner. Votre solution a très bien fonctionné et m'a aidé à mieux comprendre le processus pour tous les différents changements que je souhaite mettre en œuvre.Re : modifier dynamiquement les options Dispatch() envoyées à GraphBuilderDeux mandats
- objet plateforme : la logique derrière le générateur de graphiques. Cela ne se voit pas.
- Arborescence des boîtes d'affichage de la surface du rapport : la sortie du générateur de graphiques. Un graphique visible, des curseurs, des boutons.
Mark a raison ; la syntaxe de répartition a été créée pour les machines, pas pour les humains. Le message Dispatch contient des informations que l'objet plateforme utilise pour rechercher une zone d'affichage dans le rapport.Si vous devez l'utiliser, le EnvoyerVersRapport les dépêches doivent être envoyées comme ceci :
dt = Open( "$sample_data/big class.jmp" );
gb = dt << Graph Builder(
Size( 512, 442 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
// SendToReport(
// Dispatch( {}, "weight", ScaleBox, {Scale( "Log" ), Format( "Best", 6 ), Min( 60 ), Max( 200 ), Inc( 1 ), Minor Ticks( 1 )} ),
// Dispatch( {}, "height", ScaleBox, {Format( "Engineering", 12 )} )
// )
);
newFormat = {"Percent", "Engineering", "Best"};
newScale = {"Linear", "Log", "Linear"};
newInc = {10, 1, 20};
For( i = 1, i <= N Items( newFormat ), i += 1,
Wait( 1 ); // wait only needed for the demo!
gb << Dispatch( {}, "weight", ScaleBox, {Scale( newScale[i] ), Format( "Best", 6 ),
Min( 60 ), Max( 200 ), Inc( newInc[i] ), Minor Ticks( 0 )} );
gb << Dispatch( {}, "height", ScaleBox, {Format( newFormat[i], 12 )} );
);go est l'objet plate-forme que le < le message est envoyé à. N'envoyez pas le < message à la surface du rapport. EnvoyerVersRapport(...) indique à l'objet plate-forme de distribuer des messages dans l'arborescence des rapports.
Mark suggère d'utiliser
gb rep = gb << Report;
gb rep[AxisBox(2)] << Format( Engineering, 12 );
Dans tout ce qui précède, go est l'objet de la plateforme de création de graphiques. Dans l'exemple de Mark, représentant gb est l'arborescence du rapport de la boîte d'affichage qui appartient à l'objet de la plateforme de création de graphiques. Envoi du < message au go L'objet plateforme récupère la racine de l'arborescence de la boîte d'affichage (la surface du rapport, la partie visible). L'indexation de la racine renvoie un sous-arbre plus spécifique de l'arborescence de la boîte d'affichage :
gb rep[AxisBox(2)]
C'est à cela que Mark souhaite envoyer le message Format. Une façon d’obtenir cet indice consiste à utiliser Show Tree Structure.
Show Tree Structure: right-click on the open-close triangle.Show Tree Structure: right-click on the open-close triangle.Afficher l'arborescence : cliquez avec le bouton droit sur le triangle ouverture-fermeture.
L'état et les fenêtres de l'arborescence sont liées ; J'ai cliqué sur l'axe des hauteurs. L'axe des hauteurs et ses informations dans l'arborescence sont tous deux mis en évidence. AxisBox(2) est la deuxième zone d'axe du rapport.
Re : modifier dynamiquement les options Dispatch() envoyées à GraphBuilderAjouter à @Mark_Bailey tous les messages et fonctions pouvant être transmis aux différents objets d'affichage dans la sortie des plates-formes JMP sont décrits avec des exemples dans l'index des scripts..Les résultats des différentes plates-formes JMP sont affichés dans des structures remplies d'objets, appelées arborescences d'affichage. Par conséquent, je vous suggère également de lire la section du Guide de script sur les arborescences d'affichage.Cela ouvrira un tout nouveau monde de choses merveilleuses que l'on peut faire avec les résultats de JMP Platforms.
Re : modifier dynamiquement les options Dispatch() envoyées à GraphBuilderComme je l'ai dit en réponse à de nombreuses autres discussions ici, l'argument Envoyer au rapport a été développé pour que JMP puisse enregistrer les personnalisations lorsque vous enregistrez un script. Il n'a pas été développé pour nous. Il existe de meilleures façons. Envoyez le message Format directement à la zone d’axe. Comme ça:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
);
gb rep = gb << Report;
gb rep[AxisBox(2)] << Format( Engineering, 12 );