¿Hay alguna manera de escribir un script que represente 2 tipos diferentes de diagramas en un gráfico?Hola, soy bastante nuevo en jmp y estoy tratando de escribir un script para automatizar algo que he podido hacer en otro software. No estoy seguro de que lo que quiero hacer sea posible. Estoy tratando de usar algunos datos para superponer 2 gráficos, uno es un diagrama de dispersión y el otro es un gráfico de líneas. Puedo hacer el diagrama de dispersión, pero no sé cómo incluir el gráfico de líneas también.
He incluido algunas imágenes de los 2 gráficos que quiero superponer y también un ejemplo con otro software de cómo debería verse. También incluiré lo que tengo hasta ahora para mi guión.
Gracias de antemano por cualquier ayuda.
framex_value = "";
w = New Window( "Frame size X", // opens a window with a title and this content...
<<RETURN result=""></RETURN>



GráficosOtrosecuencias de comandosRe: ¿Hay alguna manera de escribir un script que grafique 2 tipos diferentes de diagramas en un gráfico?¡Perfecto, mi script está funcionando increíble! ¡Gracias, de nuevo, por toda su ayuda!
Re: ¿Hay alguna manera de escribir un script que grafique 2 tipos diferentes de diagramas en un gráfico?Está cambiando el valor de "framex_value" de numérico a carácter cuando especifica
framex_value = framex << get text();
Le está diciendo a JMP que obtenga el valor de framex como "texto"
deberías estar especificando
framex_value = framex << get ;
Busque en la Guía de secuencias de comandos en "NumberEditBox" y verá todos los mensajes que puede manejar "NumberEditBox" y ejemplos para cada uno.
En otro tema relacionado que está especificando
framex = Number Edit Box( "" )
que le dice a JMP que aplique un valor de carácter a su cuadro de entrada numérica.Debido a que es un campo numérico, debe especificar un número válido o un punto, "." Los "." se maneja como un valor faltante.
Re: ¿Hay alguna manera de escribir un script que grafique 2 tipos diferentes de diagramas en un gráfico?Gracias por este ejemplo. No sé si estoy ingresando la entrada del usuario incorrectamente o no, pero recibo un error cuando agrego esto al script e intento ejecutarlo.
No se puede convertir el argumento en un número [o matriz] en el acceso o la evaluación de 'Restar', 76200 - /*###*/framex_value/*###*/.
He adjuntado mi script nuevamente con todas las actualizaciones si es necesario para ayudar.
Gracias de nuevo de antemano. Realmente aprecio la ayuda.
framex_value = "";
w = New Window( "Frame size X", // opens a window with a title and this content...
<<RETURN result=""></RETURN>
Re: ¿Hay alguna manera de escribir un script que grafique 2 tipos diferentes de diagramas en un gráfico?- Lea la sección sobre Matrices en la Guía de secuencias de comandos
- Aquí hay un ejemplo
Names default to here(1);
framex_value = 5000;
xMat = matrix(76200 - framex_value) |/ matrix(76200 - framex_value) |/
matrix(76200 + framex_value) |/ matrix(76200 + framex_value);
Re: ¿Hay alguna manera de escribir un script que grafique 2 tipos diferentes de diagramas en un gráfico?@txnelson
Esto es genial, me gusta mucho esta solución. Gracias por enviar este.
¿Puedo molestarte con una pregunta más? Estoy luchando para obtener los valores calculados en el xMat. Mi programa le pide al usuario un valor, tomo ese valor y se debe calcular el cálculo de los primeros dos valores de xMat (76200-"valor de entrada del usuario"), y se calcularían los segundos dos valores de xMat (76200 + "entrada del usuario valor"). Gracias de antemano por cualquier ayuda.
Re: ¿Hay alguna manera de escribir un script que grafique 2 tipos diferentes de diagramas en un gráfico?@GardDog
Te estoy respondiendo, para instarte a que reevalúes la primera opción que te mostré.Tiene la clara ventaja de no alterar sus datos.A continuación, se muestra una revisión del script que Graph Builder produjo para la primera opción.El código reelaborado le mostrará cómo incorporar valores calculados directamente en la salida gráfica.
Names Default To Here( 1 );
dt = Current Data Table();
// Determine your X Matrix
// Here it is just being assigned, but you can easily create it in your code
xMat = [25000, 25000, 100000, 100000];
// The yMat is static, so it would be input as is
yMat = [1, 0.92, 0.92, 1];
gb = dt << Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :X Coordinate ), Y( :Normalized ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
);
Report( gb )[FrameBox( 1 )] << Add Graphics Script(
Pen Color( "orange" );
Pen Size( 2 );
Line( xmat, ymat );
);
report(gb)[AxisBox(2)] << min(.91);
Re: ¿Hay alguna manera de escribir un script que grafique 2 tipos diferentes de diagramas en un gráfico?Esto es perfecto, muchas gracias. Lo aprecio mucho. He estado tratando de descubrir cómo hacer esto durante bastante tiempo... pude hacer que funcionara en mi conjunto de datos... ahora solo necesito ver cómo agregar los valores para el gráfico de líneas en las columnas. Usando los nombres de sus columnas, las coordenadas X para la línea dependerán de un valor ingresado por el usuario, por lo que cambiarán, pero la norma2 siempre será los mismos 4 valores. Veo que respondiste a la otra publicación que hice sobre esto. Voy a revisar ese. Gracias de nuevo.
Re: ¿Hay alguna manera de escribir un script que grafique 2 tipos diferentes de diagramas en un gráfico?Aquí hay 2 soluciones.
La primera solución crea el gráfico solo con la coordenada X y los datos normalizados, y luego, usando Agregar secuencia de comandos de gráficos, agrega en la línea

La segunda solución, agrega filas adicionales a la tabla de datos y 1 columna adicional, y luego, al especificar para qué variables mostrar puntos y para cuál mostrar una línea, el Creador de gráficos genera el gráfico final.

Las 2 tablas de datos se adjuntan y los scripts para cada versión se guardan en las respectivas tablas de datos.