¿Cómo agregar un nombre de etiqueta a una leyenda en un gráfico de Graph Builder a través de JSL?Tengo un script que crea un gráfico con Graph Builder que muestra datos de mediciones. Después de generar el gráfico, recorro las mediciones mes a mes y uso el comando Agregar variable para agregar ajustes de curva calculados mensualmente para mostrar el desarrollo a lo largo del tiempo de los datos registrados.
Ahora estoy tratando de averiguar cómo puedo agregar una etiqueta a cada ajuste de curva trazado a través de un script. Las etiquetas de columna para los ajustes de curva son actualmente algo así como "datos del 24 de junio", "datos del 24 de julio", etc. Cuando hago clic derecho en el ajuste de curva para los datos de cada mes en la ventana de leyendas, puedo agregar esto seleccionando Etiqueta>Nombre. Esto mostrará el nombre junto a cada curva trazada. También puedo hacer clic derecho en el área del gráfico, elegir Personalizar y acceder a la configuración del nombre para el ajuste de curva, pero esto no se actualiza en el gráfico y cuando vuelvo a la configuración, se ha deseleccionado. Eso parece un error, pero tal vez lo uso de manera incorrecta. De todos modos, estoy tratando de encontrar una manera de agregar el nombre de la etiqueta de esta manera a través de JSL.
Intenté capturar estos cambios usando un flujo de trabajo, pero no captura los cambios que hice en la configuración de las leyendas.
He realizado varias búsquedas, pero no puedo encontrar ninguna discusión sobre esta adición específica a un gráfico usando JSL, ni tampoco puedo encontrar documentación al respecto en el índice de scripts. Existe algo llamado servidor de leyendas, pero no pude encontrar una discusión relevante. ¿Quizás pueda usar SendToReport(Dispatch())? ¿Hay alguna otra variante que deba considerar? También agradecería cualquier sugerencia sobre dónde podría aprender más sobre JSL para producir y ajustar gráficos a través de Graph Builder.
Automatización y scriptingRe: ¿Cómo agregar un nombre de etiqueta a una leyenda en un gráfico de Graph Builder a través de JSL?Creo que tienes que hacer esto a través del servidor de leyendas (o al crear la expresión del generador de gráficos)
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Transform Column("Row", Formula(Row())),
Variables(X(:Row), Y(:height)),
Elements(Line Of Fit(X, Y, Legend(5), Confidence of Fit(0))),
SendToReport(
Dispatch({}, "400", ScaleBox,
{Legend Model(
5,
Properties(
0,
{Line Label Properties({Name Label(1)})},
Item ID("height", 1)
)
)}
)
)
);
gb << Add Variable({:weight, Role("Y"), Position(1)});
server = gb << Get Legend Server;
items = server << Get Legend Items;
For(i = 1, i <= N Items(items[1]), i++,
items[1][i] << Set Properties(
{Line Label Properties({Name Label(1)})}
)
);
Re: ¿Cómo agregar un nombre de etiqueta a una leyenda en un gráfico de Graph Builder a través de JSL?¡Esa solución funcionó, gracias!
Curiosamente, cuando guardo el gráfico con las etiquetas añadidas como HTML interactivo, las etiquetas no aparecen en el gráfico cuando lo abro. Sin embargo, sí aparecen cuando lo guardo como un archivo HTML normal y lo abro. Pensé que debería mencionarlo en caso de que alguien más siga este enfoque y en caso de que quieras registrarlo como un error, también porque tu solución está documentada aquí, por lo que será más fácil de reproducir.
Re: ¿Cómo agregar un nombre de etiqueta a una leyenda en un gráfico de Graph Builder a través de JSL?¿Qué versión de JMP tienes? Según una prueba muy rápida, parece funcionar en JMP18.1

Re: ¿Cómo agregar un nombre de etiqueta a una leyenda en un gráfico de Graph Builder a través de JSL?Ah, es bueno saberlo. Estoy usando la versión 17.0.0. Y cuando reviso el registro de mensajes, dice que "Las etiquetas de línea no son compatibles y se omiten del informe", por lo que no es un error. Al parecer, debería haberlo comprobado primero.
¡Gracias por la respuesta!
Guardarlo como imagen también funciona, se incluyen las etiquetas de línea, eso es lo que hace el guardado HTML normal.
Re: ¿Cómo agregar un nombre de etiqueta a una leyenda en un gráfico de Graph Builder a través de JSL?Es correcto. Las etiquetas de línea se agregaron a JMP en JMP 17, pero no se admitieron en HTML interactivo hasta JMP 18.
Gracias,
~Juan
Re: ¿Cómo agregar un nombre de etiqueta a una leyenda en un gráfico de Graph Builder a través de JSL?Hola @Dape ,
Gracias por no llamarlo un error y recordar a los lectores de la Comunidad de usuarios de JMP que cuando algo no aparece en la versión HTML interactiva o si la versión HTML interactiva contiene elementos no interactivos, es una buena idea mirar el registro para ver si es una limitación conocida del HTML interactivo.
Cuando se agrega una nueva función a JMP, a menudo no podemos ofrecerla en HTML interactivo dentro del mismo ciclo de lanzamiento. En cambio, nos centramos en las funciones que se agregaron en versiones anteriores y que creemos que los usuarios más necesitan.
Escribimos el mensaje "no compatible" en el registro cuando sentimos que sería una pena perder interactividad debido a una característica particular que no admitimos y usamos el mensaje "no interactivo" cuando sentimos que una característica debe estar en la pantalla HTML interactiva a costa de perder interactividad.
En cualquier caso, invitamos a los usuarios a que nos hagan saber a través del soporte técnico de JMP o la Lista de deseos de JMP que desean soporte para una característica particular en HTML interactivo, ya que priorizamos nuestros esfuerzos en función de los comentarios de los usuarios.
También señaló que la exportación HTML normal utiliza imágenes y muestra las etiquetas de línea. Esta puede ser una buena alternativa para los casos en los que nuestra decisión de "omitir una función en lugar de perder interactividad" va en contra de sus necesidades.
Gracias,
~Juan