Bonjour,
J'ai un script qui affiche plusieurs moyennes de métriques (ligne) dans un générateur de graphiques et génère également un graphique avec des métriques individuelles (points).
[1] - Je voudrais supprimer les étiquettes du graphlet, et jusqu'à présent sans succès.

Dans cet exemple (script ci-dessous), je souhaiterais supprimer les libellés "Position2 et Mean()", en ne conservant que le graphique (avec ses propres notations).
D'après le guide de script, il semble qu'un Gridlet (P 704) soit nécessaire, mais toutes mes tentatives ont échoué.
[2] - lorsque les lignes du premier graphique sont proches les unes des autres (:Speed et :Height dans l'exemple), le graphlet a tendance à disparaître lorsque je déplace la souris pour essayer de cliquer dessus pour ouvrir le générateur de graphiques avec les données individuelles. Existe-t-il une option "cliquer" pour l'ouvrir directement au lieu de "Hover line then Hover graphlet then click" ? (Le guide de script P696 mentionne l'option "Click" mais ce n'est pas clair)
Pourriez-vous m'aider à ce sujet ?
Merci d'avance
-Prédicateur
Voir ci-dessous ma dernière version "stable"
Names Default To Here( 1 );
dt = Open( "$sample_data\Football.jmp" );
y_values = {"Height", "Weight", "Fat", "Speed"};
RelEventCol = "Position2";
variables_expr = Eval Expr( Variables( X( As Column( dt, Expr( RelEventCol ) ) ) ) );
Show( variables_expr );
For Each( {y_col}, y_values,
temp_expr = Expr( Y() );
Insert Into( temp_expr, Name Expr( As Column( dt, y_col ) ) );
Insert Into( temp_expr, Name Expr( Position( 1 ) ) );
Insert Into( variables_expr, Name Expr( temp_expr ) );
);
Show( variables_expr );
gb_expr = Expr(
Graph Builder( Show Control Panel( 0 ) )
);
temp_expr3 = Expr( Line() );
Insert Into( temp_expr3, Name Expr( X ) );
For Each( {y_col, idx}, y_values,
temp_expr2 = Expr( Y() );
Insert Into( temp_expr2, idx );
Insert Into( temp_expr3, Name Expr( temp_expr2 ) );
);
Show( temp_expr3 );
Insert Into( temp_expr3, Name Expr( Legend( 7 ) ) );
Show( temp_expr3 );
temp_expr4 = Expr( Elements() );
Insert Into( temp_expr4, Name Expr( temp_expr3 ) );
Show( temp_expr4 );
Insert Into( gb_expr, Name Expr( variables_expr ) );
Insert Into( gb_expr, Name Expr( temp_expr4 ) );
Insert Into(
gb_expr,
Name Expr(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Set Graphlet(
Picture(
dt << Graph Builder(
Size( 800, 700 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( As Column( dt, Expr( RelEventCol ) ) ), Y( Column( local:_measurements ) ) ),
Elements( X, Y )
);
),
Skip Filters( 1, Column( dt, Name Expr( RelEventCol ) ) )
)
}
)
)
);
Show( gb_expr );
Eval( gb_expr );Les étiquettes de survol sont probablement ce que vous recherchez https://www.jmp.com/support/help/en/18.1/index.shtml#page/jmp/hover-labels.shtml# . Le but du clic est de se déclencher lorsque l'utilisateur clique sur la miniature de l'étiquette de survol
J'ai découvert il y a quelques semaines comment supprimer les parties indésirables de l'étiquette de survol. Voici une façon de procéder.
Names Default To Here( 1 );
dt = Open( "$sample_data\Football.jmp" );
y_values = {"Height", "Weight", "Fat", "Speed"};
RelEventCol = "Position2";
variables_expr = Eval Expr( Variables( X( As Column( dt, Expr( RelEventCol ) ) ) ) );
Show( variables_expr );
For Each( {y_col}, y_values,
temp_expr = Expr( Y() );
Insert Into( temp_expr, Name Expr( As Column( dt, y_col ) ) );
Insert Into( temp_expr, Name Expr( Position( 1 ) ) );
Insert Into( variables_expr, Name Expr( temp_expr ) );
);
Show( variables_expr );
gb_expr = Expr(
Graph Builder( Show Control Panel( 0 ) )
);
temp_expr3 = Expr( Line() );
Insert Into( temp_expr3, Name Expr( X ) );
For Each( {y_col, idx}, y_values,
temp_expr2 = Expr( Y() );
Insert Into( temp_expr2, idx );
Insert Into( temp_expr3, Name Expr( temp_expr2 ) );
);
Show( temp_expr3 );
Insert Into( temp_expr3, Name Expr( Legend( 7 ) ) );
Show( temp_expr3 );
temp_expr4 = Expr( Elements() );
Insert Into( temp_expr4, Name Expr( temp_expr3 ) );
Show( temp_expr4 );
Insert Into( gb_expr, Name Expr( variables_expr ) );
Insert Into( gb_expr, Name Expr( temp_expr4 ) );
Insert Into(
gb_expr,
Name Expr(
Dispatch( {}, "Graph Builder", FrameBox,
{Set Graphlet(
Picture(
dt << Graph Builder(
Size( 800, 700 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( As Column( dt, Expr( RelEventCol ) ) ), Y( Column( local:_measurements ) ) ),
Elements( X, Y )
);
),
Skip Filters( 1, Column( dt, Name Expr( RelEventCol ) ) )
), Set Gridlet(
Expunge(
{{Matcher( "Position2" )}, {Matcher( "Mean(Height)" )}, {Matcher( "Mean(Weight)" )}, {Matcher( "Mean(Fat)" )},
{Matcher( "Mean(Speed)" )}}
)
) //Removes these from the default gridlet
}
)
)
);
Show( gb_expr );
Eval( gb_expr );Au lieu de la liste des valeurs « Moyenne(... », il faudrait probablement utiliser ceci. Cela supprimera tout ce qui contient « Moyenne » dans le nom.
{Matcher( Pat Regex( "Mean" ) )}
Merci à tous pour votre aide.
Ça marche bien:)
- Prédicateur