Ein WegMein Skript enthält eine Liste von Y-Werten zum Plotten. Ich habe ein Dialogfeld zum Auswählen der Spalten „X“ und „By“ für das OneWay-Diagramm. Ich möchte dann die Achseneinstellungen formatieren, aber die Diagramme werden als „Oneway Analysis of Y1“ bezeichnet, gefolgt von der X-Achsenspalte, zum Beispiel „By Wafer“, und dann dem By-Wert, zum Beispiel „Lot=1234“ ... . insgesamt wäre es „Oneway Analysis of Y1 By Wafer Lot=1234“
Gibt es eine Möglichkeit, das in die Dispatch-Klausel zu integrieren, damit ich die Achsenformatierung automatisieren kann?
list_y = { "Y1", "Y2" };
dlg = Column Dialog( x = ColList( "X", Max Col( 1 ) ));
if(dlg["Button"] == 1,
xCol = dlg["x"];);
dlg = Column Dialog( by = ColList( "By", Max Col( 7 ) ));
if(dlg["Button"] == 1,
byCol = dlg["by"]);
OneWay( Y( Eval( list_y ) ), X( Eval( xCol ) ), By( Eval( byCol ) ),
SendToReport(
Dispatch({"Oneway Analysis of Y1"},"1",ScaleBox,{Scale( "Log" ),Format( "Scientific", 12 ),Inc( 1 ),Minor Ticks( 8 ),Show Minor Grid( 1 ),Show Major Grid ( 1 )}),
Dispatch({"Oneway Analysis of Y2"},"1",ScaleBox,{Scale( "Log" ),Format( "Scientific", 12 ),Inc( 1 ),Minor Ticks( 8 ),Show Minor Grid( 1 ),Show Major Grid ( 1 )})
));Betreff: OneWayMöglicherweise ist es für Sie einfacher, die Formatierung als Teil der Spalteneigenschaften in der Datentabelle anzuwenden, wenn Sie nichts dagegen haben, dass alle Diagramme (und die Datentabelle) für jede Spalte dasselbe Format verwenden.
Betreff: OneWayMit xpath können Sie auch den Titel des Umrissfelds untersuchen, um festzustellen, welche Antwort dargestellt wird, und dann die Achseneinstellungen für die entsprechende Antwort bedingt festlegen. Bei 20-40 möglichen Antworten wird es ziemlich haarig.Betreff: OneWayDanke! Das ist eine wirklich coole Funktionalität, die mir nicht bewusst war.
In meinem Code habe ich zwischen 20 und 40 Spalten zum Plotten in der Y-Liste, und sie haben unterschiedliche Anforderungen an das Y-Achsenformat. Ihre Lösung eignet sich perfekt für die Aktualisierung aller Formate. Kann sich die folgende Methode für die spezifische Formatierung einzelner Diagramme eignen?
Betreff: OneWayWählen Sie mit xpath alle Oneway-Objekte aus und senden Sie dann die Dispatch-Nachricht an alle gleichzeitig.Ich habe Ihre Daten nicht, aber es hat bei den Big-Class-Daten in der Beispieldatenbibliothek hervorragend funktioniert, selbst wenn Sie eine By-Variable haben.Das *sollte* direkt funktionieren:
list_y = {"Y1", "Y2"};
dlg = Column Dialog( x = ColList( "X", Max Col( 1 ) ) );
If( dlg["Button"] == 1,
xCol = dlg["x"]
);
dlg = Column Dialog( by = ColList( "By", Max Col( 7 ) ) );
If( dlg["Button"] == 1,
byCol = dlg["by"]
);
//Name the oneway analysis object 'tmp'
tmp = OneWay( Y( Eval( list_y ) ), X( Eval( xCol ) ), By( Eval( byCol ) ) );
//get the window containing the one-way analysis
win = tmp << report;
//Select all the oneway objects and alter all the y-axes
(win << xpath( "//OutlineBox[@helpKey='Oneway Report']" )) << Dispatch(
{},
"1",
ScaleBox,
{Scale( "Log" ), Format( "Scientific", 12 ), Inc( 1 ), Minor Ticks( 8 ), Show Minor Grid( 1 ), Show Major Grid( 1 )}
);
Hier ist ein weiteres Beispiel mit Big Class:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
win = (dt << Oneway( Y( {:height, :weight} ), X( :age ), By(:Sex) )) << Report;
(win << xpath( "//OutlineBox[@helpKey='Oneway Report']" )) << Dispatch(
{},
"1",
ScaleBox,
{Scale( "Log" ), Format( "Scientific", 12 ), Inc( 1 ), Minor Ticks( 8 ), Show Minor Grid( 1 ), Show Major Grid( 1 )}
);