Comment puis-je mettre à l'échelle automatiquement l'axe de différentes plates-formes avec un seul filtre local sur une page combinéeSalut,
Je commence tout juste à travailler avec des tableaux de bord et des filtres locaux, mais j'ai quelques difficultés. J'essaie de générer un résumé d'une seule page d'une analyse de routine pour moi. Je peux créer la fenêtre avec les éléments que je souhaite et le filtre fonctionne sur les différentes plates-formes (graphiques 2xOneway et 1xBivariate) en termes de données affichées dans chaque graphique, mais l'axe sur le graphique 2xOneway se redimensionne avec les modifications apportées au local filtre, mais pas le bivarié - existe-t-il un moyen de faire en sorte que le graphique bivarié soit également redimensionné lorsque je modifie la sélection du filtre local ?
Voici ma section de code pour créer la fenêtre combinée (je ne suis pas codeur donc ce n'est peut-être pas joli !)
nw = new window( "DASHBORAD DEVELOPMENT",
Data Filter Context Box(
V List Box(
H List Box(
Current Data Table() << Data Filter(
Conditional,
Local,
Add Filter(
columns( :PRODUCTION_LINE, :PRESS_ID, :AREA_ID, :METROLOGY_FLAG, :Desport_Flag),
Display( :AREA_ID, Size( 160, 75 ), List Display ),
Display( :PRESS_ID, Size( 143, 30 ), List Display )
)
),
Oneway(
Y( :HEIGHT),
X( :MACH ),
Automatic Recalc( 1 ),
Means( 1 ),
Mean Diamonds( 1 ),
SendToReport(
Dispatch( {}, "Oneway Anova", OutlineBox, {Close( 1 )} )
)
),
Oneway(
Y( :HEIGHT),
X( :OPERATOR),
Automatic Recalc( 1 ),
Means( 1 ),
Mean Diamonds( 1 ),
SendToReport(
Dispatch( {}, "Oneway Anova", OutlineBox, {Close( 1 )} )
)
)
),
Bivariate(
Y( :HEIGHT ),
X( :PRODUCTION_DATE),
Automatic Recalc( 1 ),
SendToReport(
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Frame Size( 1018, 240 )
}
)
)
)
)
)
);Toutes mes excuses à l'avance si c'est quelque chose de très basique qui me manque !
niall
Re : Comment puis-je mettre à l'échelle automatiquement l'axe de différentes plates-formes avec un seul filtre local sur une page combinéeBrillant Jim, très apprécié!Re : Comment puis-je mettre à l'échelle automatiquement l'axe de différentes plates-formes avec un seul filtre local sur une page combinéeVoici une modification du script que je vous ai envoyé avec un ajout absurde ajouté au script d'ajout de graphiques. C'est nul mais ça marche
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
nw = New Window( "DASHBORAD DEVELOPMENT",
originHold = 0;
originRange = 0;
Data Filter Context Box(
V List Box(
H List Box(
Current Data Table() << Data Filter( Conditional, Local, Add Filter( columns( :Age, :Weight ) ) ),
ow1 = dt << Oneway(
Y( :HEIGHT ),
X( :Sex ),
Automatic Recalc( 1 ),
Means( 1 ),
Mean Diamonds( 1 ),
SendToReport( Dispatch( {}, "Oneway Anova", OutlineBox, {Close( 1 )} ) )
),
ow2 = dt << Oneway(
Y( :HEIGHT ),
X( :Age ),
Automatic Recalc( 1 ),
Means( 1 ),
Mean Diamonds( 1 ),
SendToReport( Dispatch( {}, "Oneway Anova", OutlineBox, {Close( 1 )} ) )
)
),
biv = dt << Bivariate(
Y( :HEIGHT ),
X( :Weight ),
Automatic Recalc( 1 ),
SendToReport( Dispatch( {}, "Bivar Plot", FrameBox, {Frame Size( 1018, 240 )} ) )
)
)
);
);
Report( ow1 )[Frame Box( 1 )] << Add Graphics Script(
If( originHold != Y Origin() | rangeHold != Y Range(),
originHold = Y Origin();
rangeHold = Y Range();
Report( ow1 )[Axis Box( 1 )] << Copy Axis Settings;
Try( Report( biv )[Axis Box( 1 )] << Paste Axis Settings );
Report( biv )[Outline Box( 1 )] << append( text box("Changed " || char(originHold)))
);
);Re : Comment puis-je mettre à l'échelle automatiquement l'axe de différentes plates-formes avec un seul filtre local sur une page combinéeJim,
Tout d'abord merci pour la réponse, c'est très apprécié ! Cela marche
parfaitement pour le cas que j'ai demandé.
Est-il possible d'utiliser le même type d'approche (Ajouter un script graphique) lorsque
utiliser append() pour ajouter une section à une fenêtre ouverte existante ? j'ai essayé de
l'inclure dans la fonction d'ajout mais cela me renvoie une erreur ?
Re : Comment puis-je mettre à l'échelle automatiquement l'axe de différentes plates-formes avec un seul filtre local sur une page combinéeLa méthode que j'ai utilisée pour ce faire est que j'ajouterais à votre plate-forme Oneway un << Ajouter un script graphique () qui vérifie si l'origine Y () ou la plage Y () a changé, puis si c'est le cas, puis << Copier les paramètres de l'axe à partir de l'axe Y, puis << Coller les paramètres de l'axe sur les axes Y de la plate-forme bivariée.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
nw = New Window( "DASHBORAD DEVELOPMENT",
originHold = 0;
originRange = 0;
Data Filter Context Box(
V List Box(
H List Box(
Current Data Table() << Data Filter( Conditional, Local, Add Filter( columns( :Age, :Weight ) ) ),
ow1 = dt << Oneway(
Y( :HEIGHT ),
X( :Sex ),
Automatic Recalc( 1 ),
Means( 1 ),
Mean Diamonds( 1 ),
SendToReport( Dispatch( {}, "Oneway Anova", OutlineBox, {Close( 1 )} ) )
),
ow2 = dt << Oneway(
Y( :HEIGHT ),
X( :Age ),
Automatic Recalc( 1 ),
Means( 1 ),
Mean Diamonds( 1 ),
SendToReport( Dispatch( {}, "Oneway Anova", OutlineBox, {Close( 1 )} ) )
)
),
biv = dt << Bivariate(
Y( :HEIGHT ),
X( :Weight ),
Automatic Recalc( 1 ),
SendToReport( Dispatch( {}, "Bivar Plot", FrameBox, {Frame Size( 1018, 240 )} ) )
)
)
);
);
Report( ow1 )[Frame Box( 1 )] << Add Graphics Script(
If( originHold != Y Origin() | rangeHold != Y Range(),
originHold = Y Origin();
rangeHold = Y Range();
Report( ow1 )[Axis Box( 1 )] << Copy Axis Settings;
Try( Report( biv )[Axis Box( 1 )] << Paste Axis Settings );
)
);