Ciao a tutti,
Ho cercato questo argomento nelle discussioni della community ma finora non ho avuto fortuna.
Come fare in modo che il costruttore di grafici invii una scala variabile per la variabile Y in base all'intervallo di dati?
Utilizzando l'esempio dei dati BigClass Se avessi più di un grafico da tracciare, utilizzerei il seguente script:
dt= Open ("Big Class.JMP");
win = New window("Graphs", lub = Lineup Box (Ncol(2)));
Sexs = (Associative Array(Column (dt, "sex"))<<GET keys=""></GET>Questo codice funziona per me.Inoltre, la scala Y si regola automaticamente, il che è fantastico. Tuttavia, se desidero mantenere alcune caratteristiche personalizzate, ad esempio diciamo che voglio avere un minimo Y di 55 come esempio, ma vorrei lasciare che JMP selezioni il massimo Y in base all'intervallo di dati. Come posso farlo in questo caso?
Nella mia situazione è diversa, vorrei che il minimo Y fosse sempre zero poiché ho una curva con tutti i valori che iniziano da zero ma per qualche motivo JMP imposta le impostazioni degli assi delle variabili a partire da numeri negativi a prescindere. Tuttavia, anche se desidero che i valori vengano visualizzati su un minimo Y specifico per tutti i grafici, non riesco a far sì che l'Y Max cambi automaticamente in base all'intervallo di dati o fino al massimo Y effettivo.
Usando lo script sopra e facendolo manualmente otterrei la riga di script risultante impostando un minimo Y solo come 55:
SendToReport(Dispatch({},"height",ScaleBox,{Min( 55 ), Inc( 5 ), Minor Ticks( 1 )}));Vedrai che i due grafici risultanti avranno lo stesso massimo Y indipendentemente e verranno impostati come inferiori a 70 anche se uno dei grafici contiene dati fino a 70.
Qualcuno sa come scrivere uno script che consenta all'Y max di cambiare in base all'intervallo di dati o impostare il Max in base al filtro locale già definito?
Grazie
Sembra che il valore massimo sia bloccato per entrambi i grafici.Tuttavia, ecco una soluzione che consente ai grafici di funzionare in modo indipendente.
dt2 = Open( "$SAMPLE_DATA\Big Class.JMP" );
win = New Window( "Graphs", lub = Lineup Box( N Col( 2 ) ) );
Sexs = (Associative Array( Column( dt2, "sex" ) ) << Get keys);
For( i = 1, i <= N Items( Sexs ), i++,
dt2 << select where( :sex == sexs[i] );
dt = dt2 << subset( invisible, selected rows( 1 ), selected columns( 0 ) );
lub << append(
gb = dt << Graph Builder(
Variables( X( :weight ), Y( :height ), Wrap( :sex, N View Levels( 1 ) ) ),
Elements( Points( X, Y, Legend( 7 ) ), Smoother( X, Y, Legend( 9 ) ) ),
Local Data Filter(
Close Outline( 1 ),
Add Filter(
columns( :Sex ),
Where( :Sex == Sexs[i] ),
Display( :Sex, Size( 224, 126 ), List Display )
)
)
);
Report( gb )[AxisBox( 2 )] << Min( 0 );
)
;
);