Re: Création d'un descripteur pour une fenêtre du générateur de graphes créée à partir d'une expressionVoici un exemple qui pourrait être adapté à votre objectif. Il suit votre modèle d'origine consistant à lancer Graph Builder, puis à obtenir la référence à la couche de rapport.
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb expr = Expr(
gb = dt << Graph Builder(
Size( 534, 452 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( xxx ), Y( yyy ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) )
);
);
Eval(
Substitute(
Name Expr( gb expr ),
Expr( yyy ), Expr( dt:weight ),
Expr( xxx ), Expr( dt:height )
)
);
gb rep = gb << Report;
Création d'un handle pour une fenêtre de création de graphes créée à partir d'une expressionJe peux facilement créer un handle pour une fenêtre Graph Builder afin de pouvoir créer la couche de rapport:
myGraph = dt << Graph Builder(yada, yada, yada);
myRep = myGraph << Report;
Supposons que je souhaite modifier un argument dans Graph Builder avant de créer le graphique:
myExpr = expr(Graph Builder(yada, yada, yada);
// Use remove from and insert into to modify myExpr
myExpr1 = expr(myGraph = dtIn << expr(myExpr));
eval expr(myExpr1);
Lorsque j'utilise les commandes ci-dessus, le graphique est créé, mais il ne semble pas que myGraph soit un descripteur approprié. Je ne peux donc pas créer de calque de rapport avec
myRep = myGraph << Report;
Comment pourrais-je manipuler myExpr pour créer un descripteur lors de la création du graphique?
J'ai un travail de piratage que je n'aime pas vraiment:
myList = window() << get window title;
// search myList for the number of items that contain the "Graph Builder" string (call this n)
myRep = Graph Builder[n] << Report;
Merci,
Facture
Re: Création d'un descripteur pour une fenêtre du générateur de graphes créée à partir d'une expressionMerci beaucoup Mark !!
Votre explication m'a montré comment effectuer la substitution et l'évaluation en une seule étape.
Cordialement,
Facture