Legen Sie die Rahmengröße für mehrere Diagramme festMein aktuelles Skript liefert mir mehrere Diagramme für die verschiedenen Produkte. Das ist es, was ich suche.
Jetzt möchte ich dafür sorgen, dass alle Diagramme die gleiche Rahmengröße haben. Ich stelle fest, dass ich bei der Verwendung von „Dispatch“ genau sein und jeden einzelnen Gliederungsnamen schreiben muss.
Das Problem dabei ist, dass es jedes Mal, wenn ich es ausführe, andere Produkte gibt und ich es vorziehen würde, nicht jedes Mal hineingehen und die Namen ändern zu müssen.
Gibt es eine Möglichkeit, dies zu automatisieren?
Data Table( "Data for Comparison" ) << Variability Chart(
Y( Column( "Mean(Bin_VALUE)" ) ),
X( :Bin_Size, :Status_Type2 ),
By( :Product ),
Show Box Plots( 1 ),
Std Dev Chart( 0 ),
SendToReport(
Dispatch(
{"Variability Gauge Product= Product 1", "Variability Chart for Mean(Bin_VALUE)"},
"Variability Chart",
FrameBox,
{Frame Size( 800, 240 )}
),
)
);Betreff: Rahmengröße für mehrere Diagramme festlegenMeine Lösung ist im Wesentlichen dieselbe wie Jims Antwort. Ich habe einen Verweis auf die Plotplattform gespeichert und diesen dann mit der Subskription zum Versenden der Nachricht verwendet. Jim verwendete XPath, um die Referenz zurückzugeben, bevor er die Nachricht sendete. Sie müssten die Referenz speichern, wenn Sie jede Plattform in einer Liste öffnen, und dann die Nachricht an die Liste senden, wenn Sie meinen Ansatz verwenden möchten. Zum Beispiel:
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
platform = List();
p = dt << Bivariate(
Y( :weight ),
X( :height ),
);
Insert Into( platform, Report( p )[FrameBox(1)] );
p = dt << Oneway(
Y( :weight ),
X( :age ),
);
Insert Into( platform, Report( p )[FrameBox(1)] );
platform << Frame Size( 800, 240 );
Jims Lösung ist eleganter.
Oben wurde nicht erwähnt, dass Anzeigefelder ausgewählt werden sollen, daher werden sie blau hervorgehoben. Dieses Ergebnis wird mit dem << erreicht Wählen Nachricht.
Betreff: Rahmengröße für mehrere Diagramme festlegenMarkieren,
Ich habe es versucht, aber keines der Diagramme hat seine Größe geändert. Es hat nicht funktioniert.
Ich bin sehr neu in der JMP-Skripterstellung, daher tut es mir leid, wenn diese Beobachtung nicht hilfreich ist, aber eine Sache, die mir beim Einfügen Ihres Skripts aufgefallen ist, ist, dass die Plattform nicht blau wurde.
Ich bin mir nicht sicher, ob mir noch etwas fehlt.
Betreff: Rahmengröße für mehrere Diagramme festlegenJim,
Das hat funktioniert.
Könnte ich das gleiche Konzept im folgenden Szenario verwenden, um die Titel festzulegen? Ohne jeden einzelnen von ihnen eingeben zu müssen.
Also geh davon
Template_TM = Expr(
TM = Oneway(
Y( Eval( TargetParameter )),
X( :Process ),
Each Pair( 1 ),
Means and Std Dev( 1 ),
t Test( 1 ),
Points Jittered( 1 ),
Box Plots( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Comparison Circles( 1 ),
X Axis Proportional( 0),
Histograms( 0),
//Where( :PARAMETER_ID == Eval( TargetParameter )),
SendToReport(
Dispatch( {}, "Oneway Analysis of 0.12 By Process", OutlineBox(1), {Set Title( TargetProduct ||"_Oneway Analysis at_" || TargetParameter )} ),
Dispatch( {}, "Oneway Analysis of 0.16 By Process", OutlineBox(1), {Set Title( TargetProduct ||"_Oneway Analysis at_" || TargetParameter )} ),
Dispatch( {}, "Oneway Analysis of 0.2 By Process", OutlineBox(1), {Set Title( TargetProduct ||"_Oneway Analysis at_" || TargetParameter )} ),
Dispatch( {}, "Oneway Analysis of 0.3 By Process", OutlineBox(1), {Set Title( TargetProduct ||"_Oneway Analysis at_" || TargetParameter )} ),
Dispatch( {}, "1", ScaleBox, {Min( 0 ), Minor Ticks( 1 ), Add Ref Line(Eval(Limit_UCL), "Dotted", "Dark Blue", "UCL", 1)}),
Dispatch( {}, "Oneway Plot", FrameBox, ),
Dispatch( {}, "Means Comparisons", OutlineBox, {Close( 1 )} )
)
);
);dazu?
Template_TM = Expr(
TM = Oneway(
Y( Eval( TargetParameter )),
X( :Process ),
Each Pair( 1 ),
Means and Std Dev( 1 ),
t Test( 1 ),
Points Jittered( 1 ),
Box Plots( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Comparison Circles( 1 ),
X Axis Proportional( 0),
Histograms( 0),
//Where( :PARAMETER_ID == Eval( TargetParameter )),
SendToReport(
Dispatch( {}, "1", ScaleBox, {Min( 0 ), Minor Ticks( 1 ), Add Ref Line(Eval(Limit_UCL), "Dotted", "Dark Blue", "UCL", 1)}),
Dispatch( {}, "Oneway Plot", FrameBox, ),
Dispatch( {}, "Means Comparisons", OutlineBox, {Close( 1 )} )
)
);
);
(TM<<XPATH></XPATH>Betreff: Rahmengröße für mehrere Diagramme festlegenTatsache ist, dass wir nicht dazu bestimmt sind, das zu verwenden An Bericht senden Richtlinie. Diese Methode ist nur dazu gedacht, dass JMP Anpassungen der Berichtsebene erfassen kann, wenn Sie ein Skript speichern. Versuchen Sie es mit der empfohlenen Methode:
platform = Data Table( "Data for Comparison" ) << Variability Chart(
Y( Column( "Mean(Bin_VALUE)" ) ),
X( :Bin_Size, :Status_Type2 ),
By( :Product ),
Show Box Plots( 1 ),
Std Dev Chart( 0 )
);
Report( platform )[FrameBox(1)] << Frame Size( 800, 240 );
Ganz einfach, oder?
Betreff: Rahmengröße für mehrere Diagramme festlegenSie können XPath verwenden, um alle FrameBox()-Objekte abzurufen und dann die Frame-Größe auf alle festzulegen
vc = Data Table( "Data for Comparison" ) << Variability Chart(
Y( Column( "Mean(Bin_VALUE)" ) ),
X( :Bin_Size, :Status_Type2 ),
By( :Product ),
Show Box Plots( 1 ),
Std Dev Chart( 0 ),
);
(Report(vc) << xpath("//FrameBox")) << Frame Size( 800, 240 );Betreff: Rahmengröße für mehrere Diagramme festlegenHallo txnelson,
Danke für diese Lösung! Wie kann ich dies verwenden, um dieselben DispatchSeg()-Befehle auf alle meine Plots anzuwenden? Mein Skript enthält derzeit den folgenden Code für ALLE meine 12+ Plots:
Dispatch(
{"Variability Gauge Analysis for Plot1",
"Variability Chart for Plot1"},
"Variability Chart",
FrameBox,
{Frame Size( 400, 200 ),
DispatchSeg( Box Plot Seg( 1 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 2 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 3 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 4 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 5 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 6 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 7 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 8 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 9 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 10 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 11 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 12 ), Line Color( "Black" ) )
}
)Ich habe dies versucht, aber es hat nicht funktioniert:
fb = {Frame Size( 400, 200 ),
DispatchSeg( Box Plot Seg( 1 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 2 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 3 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 4 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 5 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 6 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 7 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 8 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 9 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 10 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 11 ), Line Color( "Black" ) ),
DispatchSeg( Box Plot Seg( 12 ), Line Color( "Black" ) )
};
(Report(vc) << xpath("//FrameBox")) << fb;Dank im Voraus!
Betreff: Rahmengröße für mehrere Diagramme festlegenaus:
https://community.jmp.com/t5/Discussions/Change-the-default-color-of-box-plot-lines/mp/762414/highlight/true#M94163
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
myPlot = Variability Chart(
Y( :height ),
X( :age ),
Variability Analysis( :height, Show Box Plots( 1 ) )
);
mySegs=report(myPlot)[FrameBox(1)]<< find segs; // get all display elements
Filter Each({seg},(mySegs), (seg<< class name)=="BoxPlotSeg") //just keep the Box Plots
<< Set Line Color("Black")