CIAO,
Sto analizzando alcuni dati attraverso uno script. In particolare, ho tre variabili, vale a dire A, B e C, e rappresentano tre proprietà di un'immagine. Per tracciare l'immagine in funzione di queste tre proprietà, sono abituato a colorare le diverse righe utilizzando la proprietà Row State:
Per ogni riga (dt,
Colore Di() = Colore RGB(:A, :B, :C) );
In questo modo ogni punto/riga ha un colore RGB 1:1 che corrisponde ai valori delle tre variabili.
Sto cercando di tracciare l'immagine con il Costruttore di grafici e di inserire nella sua opzione Colore questo specifico codice colore RGB, perché nel codice successivo dovevo cancellare gli stati della riga. In particolare, col e riga sono le coordinate della mia immagine e RGB è una nuova colonna che ho creato con la formula: Color Of() = RGB Color(:A, :B, :C);
Mappa = dt << Costruttore di grafici(
Mostra Pannello di controllo( 0 ),
Variabili( X( :col ), Y( :row ), Colore(:RGB) ),
Elementi( Punti( X, Y, Legenda( 4 ) ) )
) ;
Il problema è che GB considera la colonna RGB come una colonna di valori e non come una colonna di colori decodificati.
Qualche idea per convertire il codice colore RGB a cui sono abituato in un tema colore per GB?
Grazie!
Potresti non aver bisogno di un nuovo tema di colore. Costruttore di grafici rispetta lo stato della riga del colore, quindi è sufficiente modificare questo stato della riga. Ecco un esempio che traccia RunPulse rispetto a RstPulse. Lo stato della riga del colore viene prima impostato sulla base di altre tre variabili normalizzate (0,1).
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Fitness.jmp" );
For Each Row(
Row State() = Color State( {
:Oxy / Col Max( :Oxy ),
:Runtime / Col Max( :Runtime ),
:Weight / Col Max( :Weight )
} );
);
dt << Graph Builder(
Size( 528, 450 ),
Show Control Panel( 0 ),
Variables( X( :MaxPulse ), Y( :RunPulse ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
);Questo è uno stupore. Ho provato a creare un nuovo tema colore ma non ha funzionato molto bene.
Ho creato una tabella con 1000 valori RGB casuali. (sceneggiatura in basso)
I valori RGB vengono convertiti in colore JMP.
Quindi ho eliminato le formule e ordinato le colonne in base al colore JMP.
e ha aggiunto una formula per generare del testo da utilizzare in un nuovo tema colore.
Ho usato uno dei temi colore esistenti come modello. Da una finestra di script, eseguire: Get Preferences(); e prendi uno dei temi di colore, come questo.
Add Color Theme(
{"Reverse Jet", 2051, {{127, 0, 0}, {255, 0, 0}, {255, 127, 0}, {255, 255, 0}, {127, 255,
127}, {0, 255, 255}, {0, 127, 255}, {0, 0, 255}, {0, 0, 127}, Missing( "Black" )}, 1, 1}
),
Ho dato al nuovo tema un nuovo nome e ho sostituito le serie di tre elenchi di elementi con il testo della tabella.
Non so cosa faccia il 2051 iniziale, e non so nemmeno cosa faccia l'ultimo "1, 1". Quindi ho tenuto solo quelli.
Torna alla finestra dello script in cui hai eseguito Ottieni preferenze, elimina lo script, copia l'intero registro e incollalo nuovamente nella finestra.
Elimina i commenti all'inizio e modifica il primo argomento da "Preferenze" a Imposta preferenze.
Alla fine aggiungi il tuo nuovo tema di colore. Assicurati che segua il formato delle preferenze, virgole e all'interno dell'ultima parentesi... cose del genere.
In seguito, però, potrebbe essere una buona idea salvare lo script delle preferenze prima della modifica, in modo da poterlo recuperare in un secondo momento.
Dopo aver eseguito lo script di impostazione delle preferenze, il nuovo tema colore dovrebbe essere visualizzato come opzione nel generatore di grafici, senza bisogno di riavviare JMP.
Nota, questo il nuovo tema del colore è enorme, sembra interessante ma non del tutto corretto e rende il costruttore di grafici estremamente lento.
New Table( "maker",
Add Rows( 1000 ),
New Script(
"Scatterplot 3D",
Scatterplot 3D(
Y( :R, :G, :B ),
Frame3D(
Set Grab Handles( 0 ),
Set Rotation( 127.28221594942, -1.35536871654718, 146.077602393409 ),
Set Marker Scale( 3.8125 )
)
)
),
New Column( "R",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Random Integer( 0, 255 ) ),
Set Selected
),
New Column( "G",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Random Integer( 0, 255 ) ),
Set Selected
),
New Column( "B",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Random Integer( 0, 255 ) ),
Set Selected
),
New Column( "Column 4",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Color Of() = RGB Color( :R, :G, :B ) ),
Set Selected
)
)