Hola,
Estoy analizando algunos datos a través de un script. En particular, tengo tres variables, a saber, A, B y C, y representan tres propiedades de una imagen. Para trazar la imagen en función de estas tres propiedades, suelo colorear las diferentes filas usando la propiedad Estado de la fila:
Para cada fila( dt,
Color de() = Color RGB(:A, :B, :C) );
De esta forma, cada punto/fila tiene un color RGB que coincide 1:1 con los valores de las tres variables.
Estoy intentando trazar la imagen con Graph Builder y poner en su opción Color este código de color RGB específico, porque en el código siguiente tenía que borrar los estados de fila. En particular, col y fila son las coordenadas de mi imagen y RGB es una nueva columna que creé con la fórmula: Color Of() = RGB Color(:A, :B, :C);
Mapa = dt << Generador de gráficos(
Mostrar panel de control (0),
Variables (X(:col), Y(:fila), Color(:RGB)),
Elementos( Puntos( X, Y, Leyenda( 4 ) ) )
) ;
El problema es que GB considera la columna RGB como una columna de valores, no como una columna de colores decodificados.
¿Alguna idea para convertir ese código de color RGB al que estoy acostumbrado en un tema de color para GB?
¡Gracias!
Es posible que no necesite un nuevo tema de color. Graph Builder respeta el estado de la fila de color, por lo que solo necesita cambiar este estado de fila. Aquí hay un ejemplo que traza RunPulse contra RstPulse. El estado de la fila de color se establece primero en función de otras tres variables normalizadas (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 ) ) )
);Eso es un tonto. Traté de construir un nuevo tema de color pero no funcionó muy bien.
Hice una tabla con 1000 valores RGB aleatorios. (guión en la parte inferior)
Los valores RGB se convierten a color JMP.
Luego eliminé las fórmulas y ordené las columnas por el color JMP.
y agregó una fórmula para generar texto para usar en un nuevo tema de color.
Usé uno de los temas de color existentes como plantilla. Desde una ventana de script, ejecute: Get Preferences(); y toma uno de los temas de color, como este.
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}
),
Le di al nuevo tema un nuevo nombre y reemplacé los conjuntos de tres listas de elementos con el texto de la tabla.
No sé qué hace el 2051 inicial, y tampoco sé qué hace el último "1, 1". Así que me quedé con esos.
Vuelva a la ventana del script donde ejecutó Obtener preferencias, elimine el script, copie todo el registro y péguelo nuevamente en la ventana.
Elimine los comentarios al principio y cambie el primer argumento de "Preferencias" a Establecer preferencias.
Al final, agregue su nuevo tema de color. Asegúrese de seguir el formato de las preferencias, comas y dentro del último paréntesis... cosas así.
Sin embargo, después, podría ser una buena idea guardar su secuencia de comandos de preferencias antes de la edición, para que pueda recuperarla más tarde.
Después de ejecutar el script de configuración de preferencias, el nuevo tema de color debería aparecer como una opción en el generador de gráficos, sin necesidad de reiniciar JMP.
Tenga en cuenta que este nuevo tema de color es enorme, se ve interesante pero no del todo bien, y hace que el generador de gráficos sea extremadamente 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
)
)