Ajouter une ligne Graphics Script H avec une variableSalut tout le monde,
J'essaie d'ajouter une ligne horizontale à l'objet générateur de graphique avec une variable, de cette façon, cela fonctionne
x = 139.4;
Show( x ); //x = 139.4;
gbReport[Framebox( 1 )] << addGraphicsScript(
H Line( x )
);
Mais si je fais quelque chose comme ça
TR1_row = dt_lims << get selected rows;
TR1 = Column( dt_lims, "CL" )[TR1_row] ;
gbReport[Framebox( 1 )] << addGraphicsScript(
H Line(TR1 )
);
Ça ne marche pas, des idées ?
Re : Ajouter une ligne Graphics Script H avec une variable@avner8943 ,
Vous trouverez ci-joint un script qui utilise un gestionnaire RowState pour modifier les limites.
Names Default to Here(1);
dt = Open("$Sample_Data/Big Class.jmp");
dt << sort(By(:sex, :age), Replace Table(1));
dt << New Column( "Order", Numeric);
dt:Order << Set Each Value( If( row()==1 | :sex != lag(:sex,1), 1, lag(:Order,1) +1)) ;
dtsum = dt << Summary( Group(:sex), Min(:height), mean(:height), Max(:height));
dtlims = dtsum << Stack(
columns(
:Name( "Min(height)" ),
:Name( "Mean(height)" ),
:Name( "Max(height)" )
),
Source Label Column( "Label" ),
Stacked Data Column( "Limits" )
);
Close(NoSave, dtsum);
f= Function({a}, {TR1, i},
print(a, fb);
// show(a, fb);
for(i=1, i<=nitems(fb), i++,
Try( fb[i] << Remove Graphics Script (1) )
);
TR1 = :Limits[dtlims << get selected rows];
Eval (EvalExpr( fb << Add Graphics Script( H Line( Expr( TR1) ) ) ) );
);
gb = dt << Graph Builder(
Size( 528, 456 ),
Show Control Panel( 0 ),
Variables( X( :Order ), Y( :height ), Group X(:sex) ),
Elements( Points( X, Y, Legend( 3 ) ), Line( X, Y, Legend( 5 ) ) )
);
fb = gb << Xpath("//FrameBox");
rs = dtlims << Make RowState Handler(f );
Sélectionnez une ou plusieurs lignes ou effacez toutes les sélections de lignes et voyez les modifications sur toutes les framebox.

Ce script a été testé sur JMP 14 & 15. Ci-joint une légère modification du script à la ligne 26 afin que le script fonctionne sur JMP 13.
Il doit donc y avoir un autre problème avec votre script, car cela fonctionne avec un script RowState Handler.
Re : Ajouter une ligne Graphics Script H avec une variablePeut-être parce que je le fais dans une fonction et que j'appelle cette fonction depuis MakeRowStateHandler, lorsque je l'essaye en dehors de la fonction, cela fonctionne.
Re : Ajouter une ligne Graphics Script H avec une variable@avner8943 ,
Voici un script qui utilise un exemple de table de données JMP Big Class et utilise sélectivement uniquement les hommes et ajoute 3 limites à la fois.
Names Default to Here(1);
dt = Open("$Sample_Data/Big Class.jmp");
dt << sort(By(:sex, :age), Replace Table(1));
dt << New Column( "Order", Numeric);
dt:Order << Set Each Value( If( row()==1 | :sex != lag(:sex,1), 1, lag(:Order,1) +1)) ;
dtsum = dt << Summary( Group(:sex), Min(:height), mean(:height), Max(:height));
dtlims = dtsum << Stack(
columns(
:Name( "Min(height)" ),
:Name( "Mean(height)" ),
:Name( "Max(height)" )
),
Source Label Column( "Label" ),
Stacked Data Column( "Limits" )
);
Close(NoSave, dtsum);
TR1_row = dtlims << get rows where( :sex =="M");
TR1 = column(dtlims, "Limits")[TR1_row];
gb = dt << Graph Builder( where (:sex=="M"),
Size( 528, 456 ),
Show Control Panel( 0 ),
Variables( X( :Order ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ), Line( X, Y, Legend( 5 ) ) )
);
gbreport = report(gb);
gbreport[FrameBox(1)] << Add Graphics Script( HLine( TR1 ) );
Il produit cette intrigue.

Je ne sais pas quel semble être le problème, à moins qu'il n'y ait aucune ligne sélectionnée.
Bonne chance!
Re : Ajouter une ligne Graphics Script H avec une variableCela fonctionne, mais comment puis-je ajuster cela à mon script qui prend la valeur d'une cellule spécifique du tableau JMP.Re : Ajouter une ligne Graphics Script H avec une variable@avner8943 ,
La syntaxe de H Line() est H Line(y), H Line( x1, x2, y). De plus, si vous disposez d'un vecteur de valeurs, essayez ce script.
Names Default To Here( 1 );
v = [10, 50, 20];
New Window( "Example",
Graph Box(
Pen Size( 2 );
H Line( v );
)
);
Produit cette intrigue :

Vérifiez si ce script fonctionne pour vous.Si ce n'est pas le cas, veuillez spécifier la version de JMP et du système d'exploitation que vous utilisez.