modifier dynamiquement les options Dispatch () envoyées à GraphBuilderJe dois modifier certaines des options envoyées au générateur de graphes en fonction des options du script.Je ne sais pas comment le faire fonctionner.
Ce script fonctionne pour rendre 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 quand j'essaye d'envoyer ces informations comme ça, ça ne marche pas, même si ça me ressemble:
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 avec ceci serait appréciée!
GraphiqueScriptingRe: modifier dynamiquement les options Dispatch () envoyées à GraphBuilderComme je l'ai dit en réponse à de nombreuses autres discussions ici, l'argument Envoyer vers 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 de l'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 );
Re: modifier dynamiquement les options Dispatch () envoyées à GraphBuilderAjouter à @markbailey tous les messages et fonctions qui peuvent être passés aux différents objets d'affichage dans la sortie des plates-formes JMP sont décrits avec des exemples dans l'index de script..Les résultats des différentes plates-formes JMP sont affichés dans des structures remplies d'objets, appelées Arbres 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 des choses merveilleuses que l'on est capable de faire avec la sortie des plates-formes JMP.
Re: modifier dynamiquement les options Dispatch () envoyées à GraphBuilderDeux mandats
- objet de plateforme: la logique derrière le générateur de graphes. Ce n'est pas visible.
- arborescence de la boîte 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 d'expédition a été créée pour les machines, pas pour les humains. Le message Dispatch contient des informations que l'objet de plate-forme utilise pour rechercher une zone d'affichage dans le rapport.Si vous avez besoin de l'utiliser, le SendToReport les envois doivent être envoyés 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 )} );
);gb est l'objet de plate-forme que le << Envoi le message est envoyé à. N'envoyez pas le << Envoi message à la surface du rapport. SendToReport (...) indique à l'objet plateforme d'envoyer 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, gb est l'objet de la plate-forme de création de graphiques. Dans l'exemple de Mark, gb rep est l'arborescence du rapport de la boîte d'affichage qui appartient à l'objet de plate-forme de création de graphiques. Envoi du << rapport message au gb 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 veut envoyer le message Format. Une façon d'obtenir cet indice consiste à utiliser Afficher l'arborescence.
Afficher l'arborescence: cliquez avec le bouton droit de la souris sur le triangle d'ouverture-fermeture.
Le rapport et les fenêtres de l'arborescence sont liés; J'ai cliqué sur l'axe des hauteurs. L'axe de la hauteur 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 à GraphBuilderMerci Mark, cela a été très utile. J'ai construit les graphiques dont j'ai besoin dans le générateur de graphiques, puis j'ai copié le script que JMP génère pour cela, puis je l'ai édité avec mes propres variables et je ne l'ai tout simplement pas fait 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.