<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ho trovato che usare la funzione dt << set row states (single column matrix) per essere molto più veloce di usare il più tradizionale ForEachRow (Rowstate () = Colorstate (LevelColor (Row (), n_groups, "JMP Light")))) e quindi mi piacerebbe usarlo. Tuttavia, per fare questo lo script ha bisogno di costruire direttamente la matrice a singola colonna (qui chiamata "rscode"). Secondo la guida allo scripting JMP, la matrice determina gli stati delle righe nel seguente modo:
rscode
=
selezionato (r) +
2 * esclusi (r) +
4 * nascosta (r) +
8 * marcato (r) +
16 * marker di (r) +
256 * colore di (r);
Ho letto il post sul blog di Erin Vang del 2010 su come impostare i valori dei marcatori (ha discusso su come includere i caratteri unicode come indicatori), ma non ho ancora trovato una discussione equivalente per i colori. Il problema che sto avendo è che la funzione "colore di" restituisce numeri che non sono stati di colore validi, ma numeri negativi. Idealmente, quello che voglio fare è usare i temi cromatici incorporati come "Spectral" e "JMP Default" piuttosto che crearne uno da solo. Quindi mi piacerebbe essere in grado di usare ColorOf (ColorState ()) per impostare i valori nella matrice dello stato delle righe.
Ora, impostando gli stati del colore in una tabella fittizia e utilizzando il comando (dt << Get Row States) / 256, si ottiene un vettore di indici di colore, tuttavia questi non sono numeri interi. Una delle mie domande è: come vengono calcolate le parti non integrate?
Ad esempio, crea una tabella fittizia, imposta le sue colorstate e poi vedi l'incoerenza tra le voci del vettore di output (che contiene gli indici dalla tavola dei colori di JMP 0-84) e la funzione ColorOf (...) che dà numeri negativi, molti di cui sono grandi C'è qualche schema per questa o altre funzioni che mi mancano? Nota che blah! = Blah2 e i colori della tabella risultanti sono molto diversi.
dt = New Table ("test",
Aggiungi righe (100),
Nuova colonna ("col1",
Numerico,
Continuo,
Formato ("Migliore", 10),
Formula (Row ())
)
);
ForEachRow (
RowState () =
ColorState (HeatColor (Row () / nRows (dt), << "Jet"))
);
blah = (dt << GetRowStates) / 256;
blah2 = J (NRows (dt), 1,0);
ForEachRow (Show (blah2 [Row ()] = COlorOf (RowState ())));
dt << SetRowStates (blah2 * 256)
/ *
blah =
[53.0000000318978, 53.0000000342261, 53.0000000367872, 53.0000000391155,
53.0000000414439, 53.0000000437722, 53.0000000463333, 53.0000000486616,
53.0000000509899, 21.0000000533182, 21.0000000558794, 21.0000000582077,
21,000000357395, 21,0000009534415, 21,0000015494879, 21,000002205139,
21.0000028011855, 21.0000033972319, 21.0000039932784, 21.0000045893248,
21.0000051853713, 5.00000584102236, 5.00000643706881, 5.00000703311525,
5.0000076291617, 13.0000082252081, 13.0000088212546, 45.0000094769057,
45,0000100729521, 45,0000106689986, 45,000011265045, 45,0000119206961,
45,0000125167426, 45,000013112789, 42,0000137088355, 42,0000143644866,
42,000014960533, 42,0000915501732, 42.0002441336401, 71.0003967175726,
71.0005645607598, 71.0007171453908, 71.0008697302546, 71.001022315817,
68.0011749016121, 68.0013274876401, 68.0014953331556, 68.0016479198821,
68,0018005073071, 68,0019530949649, 68,0019683514256, 68,0019988666754,
68.0020751582924, 68.0021514496766, 76.0022735176608, 76.0024108444341,
76,0025634299964, 76,0027617919259, 76,0029754126445, 76,0032042919193,
41.003463689005, 41.0037536036689, 41.0039058923721, 41.0039052963257,
41.0039046406746, 41.0039040446281, 9.0039034485817, 9.00390285253525,
9.00390219688416, 9.00390160083771, 9.00390100479126, 6.00390040874481,
6.00389975309372, 6.00389915704727, 6.00389856100082, 6.00389796495438,
6.00389736890793, 6.00389677286148, 6.00389611721039, 6.00389552116394,
6.00389492511749, 6.00389432907105, 3.0038937330246, 19.0038931369782,
19.0038924813271, 19.0038918852806, 19.0038912892342, 19.0038146972656,
19.003662109375, 19.0034942626953, 19.0033416748047, 19.0031890869141,
19.0030364990234, 51.0028686523438, 51.0027160644531, 51.0025634765625,
51.0024108886719, 51.0022430419922, 51.0020904541016, 51.0019378662109];
blah2 =
[-137, -147, -158, -168, -178, -188, -199, -209, -219, -229, -240, -250, -1535, -
4095, -6655, -9471, -12031, -14591, -17151, -19711, -22271, -25087, -27647, -30207,
-32767, -35327, -37887, -40703, -43263, -45823, -48383, -51199, -53759, -56319, -
58879, -61695, -64255, -393205, -1048546, -1703889, -2424770, -3080116, -3735463,
-4390813, -5046164, -5701516, -6422407, -7077762, -7733120, -8388479, -8454005, -
8585067, -8912737, -9240406, -9764684, -10354498, -11009848, -11861806, -12779300,
-13762329, -14876431, -16121605, -16775680, -16773120, -16770304, -16767744, -
16765184, -16762624, -16759808, -16757248, -16754688, -16752128, -16749312, -
16746752, -16744192, -16741632, -16739072, -16736512, -16733696, -16731136, -
16728576, -16726016, -16723456, -16720896, -16718080, -16715520, -16712960, -
16384000, -15728640, -15007744, -14352384, -13697024, -13041664, -12320768, -
11665408, -11010048, -10354688, -9633792, -8978432, -8323072]; * /