Come posso regolare automaticamente la larghezza del contenitore nelle distribuzioni in base all'intervallo di dati stesso?Quando utilizzo la piattaforma di distribuzione, per impostazione predefinita la larghezza del cestino è sempre grande e non aiuta a capire bene la distribuzione. I dati che devo elaborare variano in ordini di magniute (mega, mili, unit, etc) quindi un bin fisso con per tutti gli istogrammi non funziona. Anche nel caso reale che devo elaborare ho centinaia di test quindi non è nemmeno possibile regolare i grafici uno per uno. C'è un modo per fare in modo che la larghezza del cestino per ogni singolo grafico sia determinata dall'intervallo di dati? Ad esempio, vorrei semplicemente prendere l'intervallo e dividerlo in 100 parti uguali o 50, ecc. Quindi, indipendentemente dall'unità, l'aspetto sarebbe in qualche modo uniforme su tutti i grafici senza doverli regolare individualmente. In allegato ci sono 3 esempi di grafici in cui vorrei che l'impostazione predefinita fosse quella di vedere la larghezza del cestino impostata come forse 1/100 dell'intervallo di dati.
Grazie!
GraficaRi: Come posso regolare automaticamente la larghezza del cestino nelle distribuzioni in base all'intervallo di dati stesso?Ciao @breino ,
Comincia qui:
https://community.jmp.com/t5/JMP-Add-Ins/2D-Histograms/ta-p/377945
facci sapere se aiuta.
Ri: Come posso regolare automaticamente la larghezza del cestino nelle distribuzioni in base all'intervallo di dati stesso?Ciao Ron:
Grazie per il suggerimento. Sfortunatamente non gli piace un gran numero di test, ho provato ad aggiungere ~ 30 test da tracciare e dà un errore di "Impossibile aggiungere elemento: l'elenco contiene già il numero massimo di elementi".
Speravo che ci fosse un'impostazione generale per regolare la larghezza del contenitore poiché la maggior parte delle distribuzioni esce con barre larghe, quindi deve essere un'impostazione globale da qualche parte su come determinare quanto sono larghe.
Ri: Come posso regolare automaticamente la larghezza del cestino nelle distribuzioni in base all'intervallo di dati stesso?Potresti provare a scriverlo.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Students.jmp");
colList = {"height", "weight"};
dist = dt << Distribution(
Continuous Distribution(Column(:height)),
Continuous Distribution(Column(:weight))
);
wait(2);
rep_layer = Report(dist);
axisbox = rep_layer[axis box(1)];
For Each({val}, colList,
//some calculation for inc
newInc = Col Max(Column(dt, val)) - Col Min(Column(dt, val));
newInc = newInc/10;
cur_rep = rep_layer[OutlineBox(val)];
axisbox = cur_rep[axis box(1)];
axisbox << Inc(newInc);
);C'è anche Bin Span() ma non sono sicuro che possa essere modificato dopo che la distribuzione è stata creata.
Ri: Come posso regolare automaticamente la larghezza del cestino nelle distribuzioni in base all'intervallo di dati stesso?Ciao @breino
che ne dici di questo come base per lo sviluppo:
Open( "$SAMPLE_DATA/Big Class.jmp" );
Distribution(
Continuous Distribution( Column( :height ), Set Bin Width( (colmax(:height)-colmin(:height))/50 ) ),
Continuous Distribution( Column( :weight ), Set Bin Width( (colmax(:weight)-colmin(:weight))/100 ) )
);
Ri: Come posso regolare automaticamente la larghezza del cestino nelle distribuzioni in base all'intervallo di dati stesso?Molto probabilmente un miglioramento al mio codice precedente con Set Bin Width() da @ron_horne .
Molto probabilmente il looping può essere realizzato in un modo più intelligente:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Students.jmp");
colList = {"height", "weight"};
dist = dt << Distribution(
Continuous Distribution(Column(:height)),
Continuous Distribution(Column(:weight))
);
wait(1);
For(i = 1, i <= N Items(colList), i++,
newInc = Col Max(Column(dt, colList[i])) - Col Min(Column(dt, colList[i]));
newInc = newInc/10;
dist[i] << Set Bin Width(newInc);
);