Formater plusieurs tracés de distribution de vieBonjour à tous, j'essaie de formater les échelles des axes et d'appliquer des cibles à 4 tracés de distribution de vie que JMP affiche comme sortie de ce code.
myld fait référence à une fenêtre qui a 4 distributions de vie.
J'essaie de parcourir ces 4 distributions de vie en recherchant dans le titre si la fenêtre contient une distribution de vie.
Ensuite, je souhaite modifier les axes x et y pour chacun de ces tracés de Weibull.
D'une manière ou d'une autre, le code ne change que le premier tracé et les 3 autres ne sont pas modifiés, je ne suis probablement pas en mesure de saisir correctement la poignée pour le reste des tracés.
Quelqu'un peut-il aider à corriger ce code pour réaliser ce que j'essaie de faire.
Better if the "Add Ref Line(2 " can be turned into a variable so I can supply 2 as an argument.
Je peux donc ajouter une ligne de référence différente pour les 4 tracés à l'intérieur de la boucle for. Ces valeurs peuvent être stockées dans une liste avant d'exécuter la boucle.
Merci
myld = Life Distribution(
Perspective( Compare Groups ),
Y( :Voltage ),
Grouping( :flavor ),
By( :A, :B, :C, :D),
Confidence Interval Method( Likelihood ),
Select Distribution( Distribution, Weibull ),
Select Scale( Weibull ),
Tabbed Report( 0 ),
Show Confidence Area( 0 )
);
report_windows = Get Window List( "myld" );//; << Get Window Title
report_of_interest = Empty();
For Each( {report_window}, report_windows,
outline_title = Try( report_window[Outline Box( 1 )] << get title, "" );
If( Starts With( outline_title, "Life Distribution" ),
print(outline_title);
report_of_interest = report_window;
ref = report_window[Outline Box( 1 )] << Get Scriptable Object;
xaxis = Report( ref )[axis box( 2 )];
xaxis << Axis Settings(
Format( "Precision", 6, 2 ),
Min( 1 ),
Max( 5 ),
Inc( 0.01 ),
Minor Ticks( 1 ),
Add Ref Line(2, "Dotted", "Black", "", 2 ),
Label Row( {Major Grid Line Color( "Light Yellow" ), Show Major Grid( 1 )} )
);
yaxis = Report( ref )[axis box( 1 )];
yaxis << Axis Settings(
Min( 0 ),
Max( 1 ),
Inc( 0.1 ),
Minor Ticks( 0 ),
Add Ref Line(0.5, "Dotted", "Black", "", 2 )
);
);
);Automatisation et scriptsAnalyse et modélisation de données de baseAnalyse de fiabilitéRé: Formater plusieurs tracés de distribution de vie Liste de tous les objets de la plateforme ?
il existe de nombreux objets avec la touche d'aide « Distribution de vie » - prenez simplement celui du haut.
Et à partir de là, c'est la première FrameBox.
OBs = (Current Report() << xpath( "//OutlineBox[@helpKey and not(ancestor::OutlineBox[@helpKey])]" ))
For Each({OB}, OBs,
xaxis = OB[axis box( 2 )];
xaxis << Axis Settings(
Format( "Precision", 6, 2 ),
Min( 1 ),
Max( 5 ),
Inc( 0.01 ),
Minor Ticks( 1 ),
Add Ref Line(2, "Dotted", "Black", "", 2 ),
Label Row( {Major Grid Line Color( "Light Yellow" ), Show Major Grid( 1 )} )
);
yaxis = OB[axis box( 1 )];
yaxis << Axis Settings(
Min( 0 ),
Max( 1 ),
Inc( 0.1 ),
Minor Ticks( 0 ),
Add Ref Line(0.5, "Dotted", "Black", "", 2 )
);
);Ré: Formater plusieurs tracés de distribution de vieSelon la version de JMP, vous avez différentes options (je pars du principe de JMP18). Lorsque vous utilisez By column dans votre plateforme, vous pouvez obtenir une liste de plateformes sur lesquelles vous pouvez ensuite effectuer une boucle (vous pouvez également obtenir la liste en utilisant XPath). En général, j'essaie de trouver une OutlineBox très robuste, puis je l'utilise pour « lier » les indices.
Ce n’est pas exactement la même chose que ce que vous faites, mais cela devrait donner quelques idées sur ce qui peut être fait.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Reliability/Fan.jmp");
dt << New Column("Group", Nominal, Numeric, Formula(Row() <= 35));
lds = dt << Life Distribution(Y(:Time), Censor(:Censor), By(:Group));
refs = Associative Array();
refs["0"] = 0.2;
refs["1"] = 0.4;
// show(lds);
For Each({ld}, lds,
rep = Report(ld);
grouptitle = rep << get title;
// show(rep << get title);
groupname = Word(-1, grouptitle, "=");
// Be careful with axis indices as there can be "hidden" axis
yaxis = rep[Outline Box("Compare Distributions"), AxisBox(1)];
xaxis = rep[Outline Box("Compare Distributions"), AxisBox(2)];
// Two methods shown here
xaxis << Min(1000) << Max(12000) << Inc(1000) << Format("Precision", 6, 2) << Minor Ticks(1) << Label Row(
{Major Grid Line Color("Light Yellow"), Show Major Grid(1)}
);
yaxis << Axis Settings(
Format("Precision", 6, 2),
Min(0),
Max(1),
Inc(0.1),
Minor Ticks(1),
Add Ref Line(refs[groupname], "Dotted", "Black", "", 2)
);
);

Ré: Formater plusieurs tracés de distribution de vieMerci, j'apprécie.