Formattare più grafici di distribuzione della vitaCiao a tutti, sto cercando di formattare le scale degli assi e di applicare gli obiettivi ai 4 grafici di distribuzione della vita che JMP mostra come output di questo codice.
myld fa riferimento a una finestra che ha 4 distribuzioni di vita.
Sto provando a scorrere queste 4 distribuzioni di vita cercando nel titolo se la finestra ha la distribuzione di vita.
Poi voglio modificare gli assi x e y per ciascuno di questi grafici di Weibull.
In qualche modo il codice modifica solo il primo grafico e i restanti 3 non vengono modificati, probabilmente non riesco ad afferrare correttamente il handle per i restanti grafici.
Qualcuno può aiutarmi a correggere questo codice per ottenere ciò che sto cercando di fare?
Better if the "Add Ref Line(2 " can be turned into a variable so I can supply 2 as an argument.
Quindi posso aggiungere una linea di riferimento diversa per tutti e 4 i grafici all'interno del ciclo for. Questi valori possono essere memorizzati in un elenco prima di eseguire il ciclo.
Grazie
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 )
);
);
);Automazione e scriptingAnalisi e modellazione dei dati di baseAnalisi di affidabilitàRe: Formattare più grafici di distribuzione della vita Elenco di tutti gli oggetti della piattaforma?
Ci sono molti oggetti con la chiave di supporto "Distribuzione della vita": prendi semplicemente quello in alto.
E da lì è nato il primo 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 )
);
);Re: Formattare più grafici di distribuzione della vitaA seconda della versione di JMP hai diverse opzioni (io parto dal presupposto di JMP18). Quando usi la colonna By nella tua piattaforma, puoi ottenere un elenco di piattaforme su cui puoi poi fare un ciclo (puoi ottenere l'elenco anche usando XPath). Di solito cerco di trovare un OutlineBox molto robusto e poi lo uso per "legare" gli indici.
Non è esattamente la stessa cosa che stai facendo, ma dovrebbe darti qualche idea su cosa si potrebbe fare.
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)
);
);

Re: Formattare più grafici di distribuzione della vitaGrazie, lo apprezzo.