Comment JSL implémente-t-il une valeur de variable cliquer pour obtenir dans un tel graphique ?Suivez le script ci-dessous.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
p1 = dt << Graph Builder(
Variables( X( :weight ), Y( :height ), Group X( :age ), Color( :sex ) ),
Elements( Bar( X, Y, Legend( 5 ), Response Axis( "X" ), Summary Statistic( "Sum" ) ) )
);
Comment écrire du JSL Comment obtenir cette valeur d'âge dans le graphique en cliquant sur une certaine barre d'âge ?Et utiliser cette valeur pour effectuer les opérations suivantes.
Merci!

Analyse et modélisation des données de basePartager et communiquer les résultats回复: Comment JSL implémente-t-il une valeur de variable cliquer pour obtenir dans un tel graphique ?Si vous cliquez sur l'espace indiqué par cette flèche, pouvez-vous obtenir la valeur d'âge =14 ?
C'est un clic gauche de la souris, pas des étiquettes de survol.
回复: Comment JSL implémente-t-il une valeur de variable cliquer pour obtenir dans un tel graphique ???
frame = (p1 << report)[FrameBox( 1 )];
frame << Set Graphlet(
Picture(
dataage = Parse( age:_where );//??
d2 = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
d2 << Select Where( age == dataage );
d3 = d2 << Subset( Output Table( "test" ), Selected Rows( 1 ), selected columns( 0 ) );
Try( d3 << Delete Table Property( "Source" ) );
),
Reapply( 1 )
);
回复: Comment JSL implémente-t-il une valeur de variable cliquer pour obtenir dans un tel graphique ?
回复: Comment JSL implémente-t-il une valeur de variable cliquer pour obtenir dans un tel graphique ?S'il est déclenché avec des étiquettes de survol, pourquoi ne peut-il être déclenché que pour ouvrir Big Class Families.jmp à l'âge ==12 ?
Merci!
txt = "a";
Set Clipboard( txt );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
p1 = dt << Graph Builder(
Variables( X( :weight ), Y( :height ), Group X( :age ), Color( :sex ) ),
Elements( Bar( X, Y, Legend( 5 ), Response Axis( "X" ), Summary Statistic( "Sum" ) ) )
,
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
Set Textlet(
Setup(
expr = Parse( local:_where );
a = local:_dataTable << Get Rows Where( expr );
Set Clipboard( a[1] );
local:r = local:_dataTable << Get Rows Where( expr );
),
Markup( "{local:r}rows" )
)
)
)
);
txt = Get Clipboard();
frame = (p1 << report)[FrameBox( 1 )];
frame << Set Graphlet(
Picture(
dataage = txt; //Parse( age:_where );//??
d2 = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
d2 << Select Where( age == dataage );
d3 = d2 << Subset( Output Table( "test" ), Selected Rows( 1 ), selected columns( 0 ) );
Try( d3 << Delete Table Property( "Source" ) );
),
Reapply( 1 )
);
回复: Comment JSL implémente-t-il une valeur de variable cliquer pour obtenir dans un tel graphique ?dt = Open( "$SAMPLE_DATA/Big Class.jmp", invisible );
p1 = dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ), Group X( :age ), Color( :sex ) ),
Elements( Bar( X, Y, Legend( 5 ), Response Axis( "X" ), Summary Statistic( "Sum" ) ) )
);
// this graphbuilder chart has multiple FrameBoxes. Get a list of them.
framelist = Report( p1 ) << XPath( "(//OutlineBox[text()='Graph Builder']//FrameBox)" );
// each framebox needs a graphis script with a Mousetrap to detect clicks.
For( iFrame = 1, iFrame <= N Items( framelist ), iFrame += 1,
frame = framelist[iFrame];
// the mousetrap needs to capture the iFrame value when it is
// built so it can report it later; use eval(evalexpr(...expr()...))
Eval(
Eval Expr(
frame << Addgraphicsscript(
Mousetrap(
{/*nothing on mouse drag, it happens a lot*/}//
, // but on mouse up, do something. MouseUp only happens once per click.
xx = x;
yy = y;
Show( xx, yy, Expr( iFrame ) );
// run your script here
)
)
)
);
);回复: Comment JSL implémente-t-il une valeur de variable cliquer pour obtenir dans un tel graphique ?Merci les experts !
Très étonnant, j'ai vu les changements xx, yy et Expr(iFrame).

回复: Comment JSL implémente-t-il une valeur de variable cliquer pour obtenir dans un tel graphique ?Mais pourquoi ce script ne fonctionne-t-il pas dans la version chinoise de JMP Pro 17.0 ?
gagner10
Merci!

回复: Comment JSL implémente-t-il une valeur de variable cliquer pour obtenir dans un tel graphique ?D'ACCORD
Merci Craige!
Vous m'avez appris à résoudre des problèmes pour ne pas me contenter de copier du code.
Merci les experts !

回复: Comment JSL implémente-t-il une valeur de variable cliquer pour obtenir dans un tel graphique ?Définissez ma version 17 de JMP en anglais.
Ça marche, mais il y aura du chinois dans le journal ?
Merci!

回复: Comment JSL implémente-t-il une valeur de variable cliquer pour obtenir dans un tel graphique ?J'ai attrapé ça
"(//OutlineBox[text()='Graph Builder']//FrameBox)"
d'ici
right-click the outline triangle, choose Show Properties. Click one of the graphs.right-click the outline triangle, choose Show Properties. Click one of the graphs.right-click the outline triangle, choose Show Properties. Click one of the graphs.right-click the outline triangle, choose Show Properties. Click one of the graphs.right-click the outline triangle, choose Show Properties. Click one of the graphs.cliquez avec le bouton droit sur le triangle de contour, choisissez Afficher les propriétés. Cliquez sur l'un des graphiques.
vous pourriez le simplifier en
framelist = Report( p1 ) << XPath( "(//FrameBox)" );
回复: Comment JSL implémente-t-il une valeur de variable cliquer pour obtenir dans un tel graphique ?Vous souhaitez toujours déclencher des scripts en cliquant sur des graphiques, pas en survolant les étiquettes
Mais ce graphique change de forme, et je ne sais pas comment le changer pour écrire du JSL.
J'ai dû retourner chez les experts.
Merci!

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
p1 = dt << Graph Builder(
Size( 632, 1152 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements(
Bar( X, Y, Legend( 5 ), Bar Style( "Stacked" ), Response Axis( "X" ), Summary Statistic( "Sum" ) )
)
);
gp = Report(p1)["Graph Builder",FrameBox(1)]
Eval(
Eval Expr(
gp << Addgraphicsscript(
Mousetrap(
{},
a0 = Expr( iFrame );
dt << Select Where( :height == a0 );
dt << Select Columns( "height" );
d3 = dt << Subset( Output Table( "test" ), Selected Rows( 1 ), columns( height ) );
)
)
)
);回复: Comment JSL implémente-t-il une valeur de variable cliquer pour obtenir dans un tel graphique ?et si vous êtes trop paresseux pour aller dans les bars - juste
- ajouter un tracé HeatMap
- avec les variables x et y désactivées
- et transparence définie sur 0 :
回复: Comment JSL implémente-t-il une valeur de variable cliquer pour obtenir dans un tel graphique ?Pour ceux qui sont trop paresseux pour cliquer - ou trop paresseux pour utiliser la gestion des expressions : utilisez la partie Image de l'étiquette de survol.
La réaction est immédiate (beaucoup plus rapide que le temps nécessaire à l'apparition de l'étiquette de survol).
dt = Open( "$SAMPLE_DATA/Big Class.jmp", invisible );
gb = dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ), Group X( :age ), Color( :sex ) ),
Elements( Bar( X, Y, Legend( 5 ), Response Axis( "X" ), Summary Statistic( "Sum" ) ) )
);
fbs = Report( gb ) << XPath( "//FrameBox" );
For Each( {fb}, fbs,
fb << Set Graphlet( Picture( Caption( Char( myAge = :age[local:_firstRow] ) ) ) )
);Réponse : Comment JSL implémente-t-il une valeur de variable à cliquer pour obtenir dans un tel graphique ?