Formatieren mehrerer LebensdauerverteilungsdiagrammeHallo zusammen, ich versuche, Achsenskalen zu formatieren und Ziele auf 4 Lebensdauerverteilungsdiagramme anzuwenden, die JMP als Ausgabe dieses Codes anzeigt.
myld verweist auf ein Fenster mit 4 Lebensverteilungen.
Ich versuche, diese vier Lebensverteilungen zu durchlaufen, indem ich im Titel suche, ob das Fenster eine Lebensverteilung enthält.
Dann möchte ich die x- und y-Achse für jedes dieser Weibull-Diagramme ändern.
Aus irgendeinem Grund ändert der Code nur das erste Diagramm und die restlichen drei bleiben unverändert. Wahrscheinlich kann ich den Handle für die restlichen Diagramme nicht richtig erfassen.
Kann mir jemand helfen, diesen Code zu korrigieren, um das zu erreichen, was ich versuche.
Better if the "Add Ref Line(2 " can be turned into a variable so I can supply 2 as an argument.
So kann ich für alle 4 Diagramme in der For-Schleife eine andere Referenzlinie hinzufügen. Diese Werte können vor dem Ausführen der Schleife in einer Liste gespeichert werden.
Danke
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 )
);
);
);Automatisierung und SkriptingGrundlegende Datenanalyse und ModellierungZuverlässigkeitsanalyseBetreff: Mehrere Diagramme zur Lebensdauerverteilung formatieren Liste aller Plattformobjekte?
es gibt viele Objekte mit dem Hilfsschlüssel „Lebensverteilung“ – nimm einfach das oberste.
Und von dort ist es die erste 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 )
);
);Betreff: Mehrere Diagramme zur Lebensdauerverteilung formatierenAbhängig von der JMP-Version haben Sie unterschiedliche Optionen (ich gehe von JMP18 aus). Wenn Sie in Ihrer Plattform „By column“ verwenden, können Sie eine Liste von Plattformen zurückerhalten, die Sie dann durchlaufen können (Sie können die Liste auch mithilfe von XPath abrufen). Normalerweise versuche ich, eine sehr robuste OutlineBox zu finden und diese dann zum „Verknüpfen“ der Indizes zu verwenden.
Dies ist nicht genau das Gleiche, was Sie tun, sollte aber einige Ideen dazu vermitteln, was getan werden kann.
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)
);
);

Betreff: Mehrere Diagramme zur Lebensdauerverteilung formatierenVielen Dank, das weiß ich zu schätzen.