Come posso costruire un grafico a linee con una deviazione standard di 3 dalla media invece di 1 deviazione standard?
Sono molto onorato che tu dica che @txnelson - ha impiegato solo 4 anni;)
Imparo qualcosa di nuovo su JMP quasi ogni giorno. Grazie @Florian_Vogt
Ciao @PowerPlatypus37 ,
dovresti essere in grado di ottenerlo calcolando manualmente il valore che vorresti avere come intervallo della barra di errore.
Per fare ciò, utilizzare le formule di colonna e la funzione "Raggruppa per" per calcolare i rispettivi intervalli.
Quindi, nel Costruttore di grafici, puoi prima creare il grafico. Quindi seleziona la barra di errore e trascina le colonne contenenti i valori dell'intervallo nella zona di rilascio "intervallo" sul lato destro. (vedi qui: https://www.jmp.com/support/help/en/17.2/index.shtml#page/jmp/graph-zones.shtml# )

(Nota: non ho calcolato valori diversi per le barre di errore in questo esempio = qui hanno la stessa larghezza).
Spero che questo ti aiuti!
Migliore
Floriano
L'unico modo in cui so come farlo è aggiungendo le barre di errore utilizzando le primitive grafiche disponibili in JSL.
@Florian_Vogt ha fornito un suggerimento su come eseguire le barre di errore personalizzate nella sua risposta. La sua risposta è il modo corretto di gestire il problema.
Di seguito è riportato un esempio molto semplice, che utilizza un codice strutturato molto semplice per illustrare cosa sta succedendo su come aggiungere elementi grafici a un grafico esistente. Si tratta di una buona tecnica da conoscere, ma non è la risposta corretta a questa domanda di discussione a meno che non si utilizzi JMP 13 o versioni precedenti.

</CODE></PRE>
<PRE><CODE class=" language-jsl">Names Default To Here( 1 );
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
dt:age << modeling type( continuous );
gb = Graph Builder(
Size( 528, 450 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ), Overlay( :sex ) ),
Elements( Line( X, Y, Legend( 4 ), Error Interval( "None" ) ) )
);
dtSum = dt << Summary(
invisible,
Group( :sex, :age ),
Mean( :height ),
Std Dev( :height ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "stat" ),
Link to original data table( 0 )
);
sexList = dtSum:sex << get values;
ageMat = dtSum:age << get values;
meanMat = dtSum:Mean << get values;
stdMat = dtSum:Std Dev << get values;
close( dtSum, nosave );
gbf = Report( gb )[FrameBox( 1 )];
gbf << add graphics script(
ymin=999999999999;
ymax=-999999999999;
ls = {0, 0};
le = {0, 0};
For Each( {row, i }, ageMat,
If( sexList[i] == "F",
Pen Color( "Blue" ),
Pen Color( "red" )
);
Pen Size( 1 );
ls[1] = ageMat[i];
ls[2] = meanMat[i] - 3 * stdMat[i];
if(ls[2]<YMIN>ymax, ymax=le[2]); Linea( ls, le ); // riga inferiore ls[1] = ageMat[i] - .1; le[1] = etàMat[i] + .1; ls[2] = meanMat[i] - 3 * stdMat[i]; le[2] = meanMat[i] - 3 * StdMat[i]; Linea( ls, le ); // riga inferiore ls[2] = meanMat[i] + 3 * StdMat[i]; le[2] = meanMat[i] + 3 * StdMat[i]; Linea( ls, le ); ); ) ; // Imposta l'asse Y sull'intervallo massimo e minimo report(gb)[AxisBox(2)] << Max( ymax ) << Min(ymin);</YMIN>