¿Cómo puedo anotar el fondo con diferentes colores en diferentes ejes Y?El siguiente JSL puede anotar la región de 100 a 120 en el eje X con un color diferente, pero no puede abarcar diferentes ejes Y. ¿Cómo puedo modificarlo para anotar diferentes variables en los ejes Y con diferentes colores de fondo para diferentes variables?

Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:weight), Y(:height),Y(:age)),
Elements(Points(X, Y, Legend(3))),
SendToReport(
Dispatch(
{},
"weight",
ScaleBox,
{Add Ref Line(100, "Solid", "blue", "", 5),
Add Ref Line(120, "Solid", "blue", "", 5)}
)
)
);
rep = gb << report;
framebox = rep[frame box(1)];
framebox << Add Graphics Script(
Transparency(0.5);
Fill Color("Gray");
Rect(100, Y Origin() + Y Range(), 120, Y Origin() , 1)
);Exploración y visualización de datosRe: ¿Cómo puedo anotar el fondo con diferentes colores en diferentes ejes Y?Tienes varios FrameBoxes cuando tienes varios ejes (o grupos o envolturas o páginas), por lo que puedes, por ejemplo, agregar un script gráfico independiente a cada uno de ellos. Versión simplificada a continuación
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:weight), Y(:height), Y(:age)),
Elements(Points(X, Y, Legend(3)))
);
rep = gb << report;
fbs = rep << XPath("//FrameBox");
fbs[1] << Add Graphics Script(
Transparency(0.5);
Fill Color("Gray");
Rect(100, Y Origin() + Y Range(), 120, Y Origin(), 1);
);
fbs[2] << Add Graphics Script(
Transparency(0.5);
Fill Color("Green");
Rect(100, Y Origin() + Y Range(), 120, Y Origin(), 1);
);

Re: ¿Cómo puedo anotar el fondo con diferentes colores en diferentes ejes Y?Pregunta adicional: ¿Cómo puedo dibujar un cuadro de color si el eje X es del tipo de datos "texto"?
Por ejemplo, quiero marcar el rango de TIM a JOE con un color específico.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:name), Y(:height), Y(:age)),
Elements(Points(X, Y, Legend(3)))
);
rep = gb << report;
fbs = rep << XPath("//FrameBox");
fbs[1] << Add Graphics Script(
Transparency(0.5);
Fill Color("Gray");
Rect("TIM", Y Origin() + Y Range(), "JOE", Y Origin(), 1);
);
fbs[2] << Add Graphics Script(
Transparency(0.5);
Fill Color("Green");
Rect("TIM", Y Origin() + Y Range(), "JOE", Y Origin(), 1);
);Re: ¿Cómo puedo anotar el fondo con diferentes colores en diferentes ejes Y?Tienes que averiguar los valores correctos del eje x y luego utilizarlos.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:name), Y(:height), Y(:age)),
Elements(Points(X, Y, Legend(3)))
);
rep = gb << report;
fbs = rep << XPath("//FrameBox");
fbs[1] << Add Graphics Script(
Transparency(0.5);
Fill Color("Gray");
Rect(17, Y Origin() + Y Range(), 37, Y Origin(), 1);
);
fbs[2] << Add Graphics Script(
Transparency(0.5);
Fill Color("Green");
Rect(17, Y Origin() + Y Range(), 37, Y Origin(), 1);
);
Esto puede ser fácil o, a veces, muy difícil, pero puedes hacerte una idea comprobando la configuración y las etiquetas del eje X.

Re: ¿Cómo puedo anotar el fondo con diferentes colores en diferentes ejes Y?¿Cómo puedo usar JSL para leer la asignación de ETIQUETA y VALOR en el eje X actual? No encuentro un método para leer la ETIQUETA y el VALOR correspondiente en el eje X actual.
Me gustaría usar MATCH en la etiqueta de texto para obtener el VALOR y luego resaltar el rango específico de valores con un cuadro de color.
Re: ¿Cómo puedo anotar el fondo con diferentes colores en diferentes ejes Y?Si recuerdo correctamente... (actualmente) el método más fácil es leerlo desde la tabla de datos usando la Tabla de resumen o Resumir.
Re: ¿Cómo puedo anotar el fondo con diferentes colores en diferentes ejes Y?Me gustaría marcar los colores en el eje X de acuerdo con la región seleccionada por el usuario. Sin embargo, el eje X en el gráfico cambia debido al uso por parte del usuario de un filtro de datos local. Dado que el formato de texto del eje X es variable, no puedo especificar una correspondencia de valor y etiqueta fija. Espero poder acceder directamente a las etiquetas y valores en el eje X del gráfico o poder determinar el valor y la etiqueta correspondientes en el eje X según la selección del usuario en el filtro de datos local. Como se muestra en el script a continuación, me gustaría permitir que el usuario seleccione el filtro de datos local y, además, elija el eje X que se marcará con colores. Si no es posible obtener los elementos que se muestran actualmente en el eje X del gráfico o los resultados seleccionados en el filtro de datos local, no será posible obtener los valores y las etiquetas correspondientes sin problemas. ¿Hay alguna forma de lograr esto?"Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:name), Y(:height), Y(:age)),
Elements(Points(X, Y, Legend(3))),
Local Data Filter(
Add Filter(
columns( :name ),
Where(
:name == {"ALFRED", "ALICE", "AMY", "BARBARA", "CAROL", "CHRIS",
"CLAY"}
),
Display( :name, N Items( 15 ), Find( Set Text( "" ) ) )
)
),
);
rep = gb << report;
fbs = rep << XPath("//FrameBox");
fbs[1] << Add Graphics Script(
Transparency(0.5);
Fill Color("Gray");
Rect(2, Y Origin() + Y Range(), 4, Y Origin(), 1);
);
fbs[2] << Add Graphics Script(
Transparency(0.5);
Fill Color("Green");
Rect(2, Y Origin() + Y Range(), 4, Y Origin(), 1);
); Re: ¿Cómo puedo anotar el fondo con diferentes colores en diferentes ejes Y?Si tienes un filtro local para administrar, lo más probable es que se vuelva más complicado. ¿Qué rango deseas colorear? ¿Qué sucede cuando el usuario filtra ese rango o solo un extremo?
Re: ¿Cómo puedo anotar el fondo con diferentes colores en diferentes ejes Y?Sí, se vuelve más complejo con la presencia del filtro de datos locales. Por lo tanto, me gustaría saber si existen técnicas para obtener los elementos actuales en el eje X del gráfico o para leer las opciones seleccionadas del filtro de datos locales a fin de calcular la tabla de mapeo para el valor y la etiqueta actuales.
Re: ¿Cómo puedo anotar el fondo con diferentes colores en diferentes ejes Y?Puede obtener diferentes tipos de valores del filtro de datos local y luego puede analizarlos/utilizarlos.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Car Poll.jmp");
dist = dt << Distribution(
Nominal Distribution(Column(:country))
);
ldf = dist << Local Data Filter(
Add Filter(columns(:sex), Where(:sex == "Female")),
Mode(Show(1), Include(1))
);
Show(ldf << get script, ldf << Get where clause, ldf << Get Filtered Rows);

Recuerde verificar el caso especial en el que no se filtran filas.