Definizione del gradiente di colore personalizzato nella mappa termica di Graph Builder con JSLHo un modello con otto fattori e quattro risposte. Vorrei creare una mappa termica che mostri quali fattori sono significativi per quali risposte.Vorrei essere in grado di definire la mia scala di colori, ad esempio:
<0,0001 a 0,01 = arancione
Da 0,001 a 0,05 = rosso
> 0,05 = bianco
Ho giocato con il gradiente in Graph Builder ma non riesco a vedere come fare quello che voglio. Forse questo non è nemmeno più tecnicamente un gradiente, ma sembra che dovrebbe essere possibile.L'immagine qui sotto è quanto di più vicino ho ottenuto.

Ecco un frammento di sceneggiatura. Il set di dati completo con lo script salvato è allegato.
gradient(
{Color Theme( "Green Yellow Red" ), Scale Values( [0 0.05 .] ),
Width( 9 ), Range Type( "Exact Data Range" ),
Reverse Gradient( 1 ), Discrete Colors( 1 ),
N Labels( 5 )}
)
Tutti i suggerimenti sarebbero apprezzati.
- Tom
Ri: Definizione del gradiente di colore personalizzato nella mappa termica di Graph Builder con JSLFantastico, grazie per la spiegazione dettagliata Tom!
Ri: Definizione del gradiente di colore personalizzato nella mappa termica di Graph Builder con JSLCiao Kira,
Grazie per l'aiuto.Questo mi ha davvero aiutato ad arrivare dove stavo cercando di andare.
Aggiungerò qualche dettaglio in più su come farlo per altri che potrebbero provare qualcosa di simile, dal momento che non sono riuscito a trovare alcun dettaglio nella documentazione di JMP.
Se fai clic con il pulsante destro del mouse sulla legenda della mappa termica, seleziona Gradiente, quindi fai clic sul tema del colore e poi sul twisty per aprire "Tema colore personalizzato".Questa è la configurazione che ha finito per funzionare per me.

Qui sembra che ci siano solo quattro punti che definiscono il gradiente a 0, 10, 50 e 100%, ma non è vero.Se definisci solo questi quattro punti, otterrai dei gradienti tra di essi, ad esempio dal rosso all'arancione dallo 0 al 10%. Se si desidera passare dal rosso all'arancione al 10%, è necessario definire sia un punto rosso che un punto arancione al 10%.L'interfaccia utente mostra solo un marcatore lì perché lo stiamo usando per qualcosa per cui non è stato progettato.
Per ottenere tre gamme di colori discrete è necessario definire sei punti, anche se sopra si vedono solo quattro a causa della sovrapposizione.Mentre la visualizzazione sopra è utile dopo il fatto , non potrei usarlo per ottenere ciò che voglio spostando i cursori. Ho dovuto scriverlo direttamente. Ecco come appariva il mio codice:
{Color Theme(
{"White to Red p-Value", 2051,
/*0%->red 10%->red 10%->orange 50%->orange 50%->white 100%->white */
{{255,0,0},{255,0,0},{255,165,0},{255,165,0},{255,255,255},{255,255,255}},
{.0000 , 0.1 , 0.1 , 0.5 , 0.5 , 1 }
}Come ha sottolineato Kira, il fattore di scala è importante per ottenere risultati corretti. I valori nel tema colore vanno da 0 a 1 (da 0 a 100% della scala definita).Il fattore di scala "mappa" la scala dei colori sulla tua particolare variabile, nel mio caso da 0 a 0,1.
Mi vengono in mente altri casi in cui voglio prendere dati continui e mapparli su passaggi di colore e non gradienti, quindi forse c'è un modo migliore per farlo in JMP o solo un'impostazione che mi manca. (L'ho fatto anche nel modo suggerito da Kira, con la creazione di una nuova colonna -- anche questa è sicuramente un'opzione ragionevole.)
Il mio output finale è simile a questo, con i rapporti F mostrati in ogni cella:

Nel file allegato è il set di dati originale. Il primo script esegue il modello. Il secondo entra nel rapporto, estrae i valori p e i rapporti f e crea la mappa termica.Vorrei aver capito abbastanza sulla navigazione delle strutture ad albero dei report per rendere lo script della mappa di calore "intelligente" abbastanza da trovare la tabella "Test degli effetti" ovunque si trovi nel report.Così com'è ora, è codificato, quindi lo script probabilmente funzionerà solo con questo particolare rapporto.
dt_pvals = report(fls)[outlinebox(1)][TableBox(6)] << make combined data table;
Penso che questo potrebbe essere un utile strumento di visualizzazione quando si lavora con più fattori e risposte.
- Tom
Ri: Definizione del gradiente di colore personalizzato nella mappa termica di Graph Builder con JSLCiao Tom!
È possibile definire i propri temi colore in JMP. Prova qualcosa del genere:
Preferences( Add Color Theme(
{"White to Red p-Value", 2051, {{255, 255, 255}, {255, 255, 255}, {252, 187,
161}, {252, 146, 114}, {251, 106, 74}, {239, 59, 44}, {203, 24, 29}, {165,
15, 21}, {103, 0, 13}}, {0, 0.95, 0.96,
0.97, 0.98, 0.99, 0.995,
0.999, 1}}
),
);I colori sono codificati in valori RGB (ad es. {255, 255, 255} è bianco) e gli incrementi che ti interessano sono dati alla fine (ad es. il primo 95% della scala dei colori sarà bianco come definito attualmente). Questa è una prima bozza, quindi potrebbe essere necessario modificare gli incrementi o i colori proprio come vorresti. Nota che questo creerà un nuovo tema di colore che puoi usare in qualsiasi grafico. Nel grafico, assicurati di includere "min" e "max" per la scala dei colori, altrimenti questo gradiente non inizierà a diventare arancione a 0,05:
gradient(
{Color Theme(
{"White to Red p-Value", 2051, {{255, 255, 255}, {255,
255, 255}, {252, 187, 161}, {252, 146, 114}, {251, 106,
74}, {239, 59, 44}, {203, 24, 29}, {165, 15, 21}, {103,
0, 13}}, {0, 0.95, 0.96, 0.97, 0.98, 0.99, 0.995, 0.999,
1}}
), Scale Values( [0 1] ), Reverse Labels( 1 )}
)Tuttavia, una nota a margine da uno statistico: in realtà, non importa quanto sia piccolo il valore p non appena è al di sotto della soglia (ad esempio 0,05). L'unica cosa che ti dovrebbe interessare è: è significativo (ad esempio meno di 0,05) o meno. Quindi una semplice colonna formula che indica se il valore p è inferiore a 0,05 o meno e la colorazione dovrebbe essere perfetta per la tua applicazione.
Spero che aiuti!
Kira