Ce script génère des données dans un format similaire à mes données réelles, puis trace des graphiques dans la disposition que je souhaite.
Plusieurs paramètres sont tracés sur l'axe Y au fur et à mesure qu'ils sont sélectionnés dans le filtre de données local. Cela m'est utile car je peux comparer les tendances des paramètres associés dans mes données réelles.
Sans utiliser l'option "Page" des générateurs de graphiques ni créer de colonnes supplémentaires dans le tableau de données, existe-t-il un moyen d'obtenir des échelles indépendantes de l'axe Y les mieux adaptées/automatiques lorsque les paramètres sont sélectionnés dans le filtre de données local ? Je pense à la maîtrise des arbres d'affichage et du gestionnaire de changement de filtre, mais je sais comment procéder. Un peu d'aide serait utile.
Names Default To Here(1);
clear log ();
dt = Open("$SAMPLE_DATA/Probe.jmp");
// Combine columns 1
Data Table( "Probe" ) << Combine Columns(columns( :Lot ID, :Wafer Number ), Column Name( "LotWafer" ), Delimiter( "." ));
// Combine columns 2
Data Table( "Probe" ) << Combine Columns(columns( :Die X, :Die Y ), Column Name( "[X,Y]" ), Delimiter( "," ));
// Delete columns
Data Table( "Probe" ) << Delete Columns( :Lot ID, :Wafer Number, :Die X, :Die Y );
grouped_cols = dt << get column group( "Responses" );
// Transpose data table // → Data Table( "Transpose of Probe" )
Data Table( "Probe" ) << Transpose( columns (grouped_cols), By( :LotWafer, :Process, :Start Time ),
Label( :Site ), Output Table( "Transpose of Probe" ));
close (dt, no save);
// Add column
dt = Current Data Table ();
Data Table( "Transpose of Probe" )
<< New Column("Mean", Numeric, "Continuous", Format("Best", 12 ), Formula(Mean( :"1"n, :"2"n, :"3"n, :"4"n, :"5"n )));
//Plot chart
dt = Graph Builder(
Size( 570, 458 ),
Show Control Panel( 0 ),
Y Group Edge( "Left" ),
Variables(X(:LotWafer, Order By( :Start Time, Ascending, Order Statistic( "Mean" ) )),
Y( :Mean ), Group Y(:Label, Order By( :Process, Ascending, Order Statistic( "Mean" ) )) ),
Elements( Points( X, Y, Legend( 23 ) ) ),
Local Data Filter(Conditional, Add Filter(columns( :Label ),Where( :Label == {"30D1_7X100_IL_12V", "30D1_7X100_IL_25V"} ),
Display( :Label, Find( Set Text( "" ) ) ))),
SendToReport(Dispatch({},"Mean",ScaleBox,{ Min( -0.0000336 ), Max( 0.00004544 ), Inc( 0.00001 ),Minor Ticks( 1 )})));Notez les valeurs Min/Max dans la dernière ligne copiée à partir du script après avoir utilisé de manière interactive le Graph Builder pour afficher correctement les données.
Si vous utilisez le groupe Y, je pense que les axes Y sont liés entre eux. Une option pourrait être de créer une nouvelle colonne moyenne qui a été mise à l'échelle, de sorte que toutes les étiquettes s'adaptent à un axe similaire (supprimez également le min/max/inc du script de création de graphique, pour permettre à JMP d'effectuer ses propres calculs d'axe).
@jthi Merci. Comme mentionné dans OP, je préférerais ne pas créer de nouvelles colonnes comme dans mes données réelles, car je devrais alors le faire pour des centaines de colonnes.
La mise à l'échelle automatique de JMP n'affichait pas les données de manière satisfaisante, j'ai donc utilisé min/max ( copié à partir du script après avoir utilisé de manière interactive le Graph Builder pour afficher correctement les données, comme mentionné dans mon OP ).