Imposta la dimensione del frame per più graficiIl mio script attuale mi fornisce più grafici in base ai diversi prodotti. Che è quello che sto cercando.
Ora vorrei fare in modo che tutti quei grafici abbiano la stessa dimensione del frame. Sto scoprendo che devo essere specifico quando uso la spedizione e devo scrivere ogni singolo nome di contorno.
Il problema è che ci saranno prodotti diversi ogni volta che lo eseguo e preferirei non dover entrare e cambiare i nomi ogni volta.
C'è un modo per automatizzare questo.
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 )}
),
)
);Ri: Imposta la dimensione del frame per più graficiLa mia soluzione è essenzialmente la stessa della risposta di Jim. Ho salvato un riferimento alla piattaforma di plottaggio e poi l'ho usato con l'abbonamento per inviare il messaggio. Jim ha utilizzato XPath per restituire il riferimento prima di inviare il messaggio. Dovresti memorizzare il riferimento quando apri ciascuna piattaforma in un elenco e quindi inviare il messaggio all'elenco se desideri utilizzare il mio approccio. Per esempio:
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 );
La soluzione di Jim è più elegante.
Non vi è alcuna menzione sopra sulla selezione delle caselle di visualizzazione, quindi sono evidenziate in blu. Tale risultato si ottiene con il << Selezionare Messaggio.
Ri: Imposta la dimensione del frame per più graficiSegno,
Ho provato questo ma nessuno dei grafici ha cambiato dimensione. Non ha funzionato.
Sono molto nuovo nello scripting di JMP, quindi mi dispiace se questa osservazione non è utile, ma una cosa che ho notato quando ho incollato il tuo script è che la piattaforma non è diventata blu.
Non sono sicuro se c'è qualcos'altro che mi manca.
Ri: Imposta la dimensione del frame per più graficiJim,
Questo ha funzionato.
Potrei usare lo stesso concetto nello scenario sottostante, per impostare i titoli. Senza dover digitare ognuno di essi.
Quindi vai da questo
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 )} )
)
);
);a questa?
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>Ri: Imposta la dimensione del frame per più graficiIl fatto è che non siamo destinati a utilizzare il Invia a rapporto direttiva. Questa modalità serve solo a consentire a JMP di acquisire le personalizzazioni del livello di report quando si salva uno script. Prova il modo consigliato:
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 );
Facile, eh?
Ri: Imposta la dimensione del frame per più graficiÈ possibile utilizzare XPath per recuperare tutti gli oggetti FrameBox() e quindi impostare Frame Size su tutti loro
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 );Ri: Imposta la dimensione del frame per più graficiCiao TXnelson,
Grazie per questa soluzione! Come posso usarlo per applicare gli stessi comandi DispatchSeg() a tutti i miei grafici? Il mio script in questo momento ha il seguente codice per TUTTE le mie 12+ trame:
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" ) )
}
)Ho provato questo, ma non ha funzionato:
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;Grazie in anticipo!
Ri: Imposta la dimensione del frame per più graficida:
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")