Definición de gradiente de color personalizado en el mapa de calor de Graph Builder con JSLTengo un modelo con ocho factores y cuatro respuestas. Me gustaría crear un mapa de calor que muestre qué factores son importantes para qué respuestas.Me gustaría poder definir mi propia escala de colores, por ejemplo:
<0,0001 a 0,01 = naranja
0,001 a 0,05 = rojo
> 0.05 = blanco
He jugado con el degradado en Graph Builder pero no veo cómo hacer lo que quiero. Tal vez esto ya no sea técnicamente un gradiente, pero parece que debería ser posible.La imagen de abajo es lo más cercano que he conseguido.

Aquí hay un fragmento de guion. Se adjunta el conjunto de datos completo con el script guardado.
degradado(
{Tema de color ("Verde amarillo rojo"),
Valores de escala ([0 0.05.]),
Ancho (9),
Tipo de rango ("Rango de datos exacto"),
Gradiente inverso (1),
Colores discretos (1),
N Etiquetas (5)}
)
Cualquier sugerencia sera apreciada.
-Tomás
Re: Definición de gradiente de color personalizado en el mapa de calor Graph Builder con JSL¡Hola Tom!
Puede definir sus propios temas de color en JMP. Prueba algo como esto:
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}}
),
);Los colores están codificados en valores RGB (por ejemplo, {255, 255, 255} es blanco) y los incrementos que le interesan se dan al final (por ejemplo, el primer 95% de la escala de colores será blanco como se define actualmente). Este es un primer borrador, por lo que es posible que deba cambiar los incrementos o los colores como le gustaría. Tenga en cuenta que esto creará un nuevo tema de color que puede utilizar en cualquier gráfico. En el gráfico, asegúrese de incluir "min" y "max" para la escala de color; de lo contrario, este degradado no comenzará a ponerse naranja en 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 )}
)¡Espero que esto ayude!
Kira
Re: Definición de gradiente de color personalizado en el mapa de calor Graph Builder con JSLHola kira
Gracias por tu ayuda.Eso realmente me ayudó a llegar a donde estaba tratando de llegar.
Agregaré un poco más de detalles sobre cómo hacer esto para otros que podrían estar intentando algo similar, ya que no pude encontrar ningún detalle en la documentación de JMP.
Si hace clic con el botón derecho en la leyenda del mapa de calor, seleccione Degradado, luego haga clic en el Tema de color y luego en el retorcido para abrir "Tema de color personalizado".Esta es la configuración que terminó funcionando para mí.

Aquí parece que solo hay cuatro puntos que definen el gradiente en 0, 10, 50 y 100%, pero eso no es cierto.Si solo define esos cuatro puntos, obtendrá gradientes entre ellos, por ejemplo, rojo a naranja de 0-10%. Si desea pasar de rojo a naranja al 10%, debe definir un punto rojo y naranja al 10%.La interfaz de usuario solo muestra un marcador allí porque lo estamos usando para algo para lo que no fue diseñado.
Para obtener tres gamas de colores discretas, debe definir seis puntos, aunque solo vea cuatro arriba debido a la superposición.Si bien la visualización anterior es útil después del hecho , No podría usarlo para obtener lo que quiero moviendo los controles deslizantes. Tuve que escribirlo directamente. Así es como se veía mi código:
{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 }
}Como señaló Kira, el factor de escala es importante para acertar. Los valores en el tema de color van de 0 a 1 (0 a 100% de la escala definida).El factor de escala "asigna" la escala de colores a su variable particular, en mi caso de 0 a 0,1.
Puedo pensar en otros casos en los que quiero tomar datos continuos y asignarlos a los pasos de color, no a los degradados, por lo que tal vez haya una mejor manera de hacer esto en JMP o simplemente me falta una configuración. (También lo hice de la manera que sugirió Kira, con la creación de una nueva columna; esa es definitivamente una opción razonable también).
Mi resultado final se ve así, con F Ratios que se muestran en cada celda:

En el archivo adjunto se encuentra el conjunto de datos original. El primer script ejecuta el modelo. El segundo entra en el informe, extrae los valores p y las relaciones f y crea el mapa de calor.Me gustaría haber entendido lo suficiente sobre cómo navegar por las estructuras del árbol de informes para hacer que la secuencia de comandos del mapa de calor sea lo suficientemente "inteligente" como para encontrar la tabla "Prueba de efectos" donde sea que esté en el informe.Como está ahora, está codificado de forma rígida, por lo que el script probablemente solo funcionará con este informe en particular.
dt_pvals = report(fls)[outlinebox(1)][TableBox(6)] << make combined data table;
Creo que esta podría ser una herramienta de visualización útil cuando se trabaja con múltiples factores y respuestas.
-Tomás
Re: Definición de gradiente de color personalizado en el mapa de calor Graph Builder con JSL¡Increíble, gracias por la explicación detallada, Tom!