JSL: genera un gráfico -xy que recorre columnas con diferentes variables
Saludos,
Antecedentes: Tengo un conjunto de datos muy grande que es el resultado de pruebas de RF específicas para dispositivos semiconductores. Durante esta prueba de RF hay una variedad de condiciones diferentes que son importantes. Tengo 3 salidas que se prueban en 16 canales diferentes en 6 estados de prueba diferentes que requieren que genere 105 gráficos diferentes.
ejemplo: Ganancia vs Frecuencia en el Canal 1 en el Estado de Prueba 1; Ganancia frente a frecuencia en el canal 2 en el estado de prueba 1, donde tengo 15 canales y 6 estados de prueba.
He buscado una solución en estos foros de discusión y los armarios a los que he llegado son un hilo iniciado en 2017 titulado " ¿Cómo exportar el gráfico JMP a PPT mediante JSL?"
Intenté incorporar el script utilizado en esta solución para ayudarme y puedo lograr que genere la cantidad requerida de gráficos, pero no puedo filtrar canales específicos.
Creo que estoy teniendo dificultades para comunicar esto, así que si necesita una aclaración, pregunte.
Gracias
Summarize( dt, lstChannel = By( :channel ) );
gb = Graph Builder(
invisible,
Size( 1225, 952 ),
Show Control Panel( 0 ),
Variables(
X( :Name( "Freq _(GHz)" ) ),
Y( :Gain ),
Group X( :wafer_num ),
Overlay( :RowCol ) ),
Elements( Smoother( X, Y, Legend( 19 ) ) )
);
For( i = 1, i <= N Items( GroupBy ), i++,
gb << Local Data Filter(
columns(
:wafer_num,
:channel,
:RowCol),
Where( :channel == LstChannel[i] ) ),
// I would like to loop through the teststates as well
Where( :teststate == 1 ),
Mode( Show( 1 ), Include( 1 ) ) );
If( i == 1,
gb << Save Presentation( "$TEMP/jmp_example2.pptx" ),
gb << Save Presentation( "$TEMP/jmp_example2.pptx", Append )
);
gb << remove data filter;
);
Open( "$TEMP/jmp_example2.pptx" );Re: JSL - Generar -xy Gráfico que recorre columnas con diferentes variablesSupongo que los otros dos no se unieron.
Re: JSL - Generar -xy Gráfico que recorre columnas con diferentes variablesGracias por la información siempre es esclarecedora. Creo que es muy fortuito que fueras tú quien más me ayudara. Verá, soy ingeniero industrial en una fundición que tiene una mezcla muy alta de productos de bajo volumen y realizamos una cantidad significativa de pruebas de RF. Todo lo que mencionaste:
- hay un rango conocido como límites de control o especificaciones,
- Necesito escalar a algo como +/- k sigma,
- Necesita controlar las líneas de la cuadrícula, por ejemplo, una línea de cuadrícula en cada 0,5 sigma,
- datos cuyo valor nominal es grande pero la variación es muy pequeña, por ejemplo, el valor medio es 1750222 stdev es 0.000023, luego trazo una transformación Y-media y descubro una buena escala y uso el algoritmo, gdinc.jsl
- realice un análisis y determine si los datos están muy sesgados o están agrupados.
Es lo que estoy tratando de lograr, estamos probando y nuestro cliente está utilizando algunos límites de especificaciones amplios sin datos, por lo que estamos tratando de determinar los límites de especificaciones basados en +/- 3 sigma y +/- 4,5 sigma con control superior e inferior adjuntos. límites.Otro ejemplo es cuando pregunté acerca de ampliar el eje X para los gráficos de distribución, fue porque nuestros límites de especificaciones actuales son LSL = 20 y USL = 40. Es por eso que soy un ávido defensor de JMP debido a las increíbles herramientas que tiene en las utilidades de Calidad y Proceso.
Sé muy poco o nada sobre cómo trazar análisis de datos multivariados, pero lo intentaré.
En realidad, esta conversación me hace entender por qué estoy aquí de nuevo. Me gustaría recibir su opinión sobre el uso del mismo método de trazado que me proporcionó para el generador de gráficos y la distribución para el análisis Fix Y by X. Siento que esta es una muy buena herramienta de análisis ya que podemos ver la diferencia (estadísticamente) entre conjuntos de datos que en nuestro caso es wafer_number. Por supuesto que uso una prueba T de Student de cada par para comparar las medias... Intenté enchufar y reproducir y me confundí con la función de dispacth.Se adjunta la tabla de datos y una ventana Guardar en secuencia de comandos de lo que estoy tratando de hacer junto con una imagen del resultado. Nuevamente, toda su ayuda es extremadamente útil.
Nota al margen: le pregunté a mi gerente si podía tomar una clase detallada de redacción de guiones y me dijo que sí, así que si tiene alguna recomendación, hágamelo saber. Estoy en el área de Balitmore, MD.
yng
Re: JSL - Generar -xy Gráfico que recorre columnas con diferentes variablesyng,
No especificaste lo que estás buscando. Normalmente uso la escala predeterminada de JMP y uso algo como lo siguiente si quiero la misma escala de eje para todos los subgrupos. Este script nombra las variables de interés ylist, pero esto se puede aplicar a cualquier variable numérica continua (columna), incluso Fecha y hora.El truco consiste en dejar que JMP escale para todos, luego copie la configuración del eje en la columna de la tabla, luego cualquier gráfico que use esa columna implementará esa escala.
Names Default to Here(1);
ylist = {"Sepal length", "Sepal width", "Petal length", "Petal width"};
dt = Open("$sample_data/iris.jmp");
//get common axis
for(i=1, i<=nitems(ylist), i++,
ovl = dt << Overlay Plot(Invisible,
Y( Column(dt,ylist[i]) ), //yaxis
Overlay( 0 )
);
report(ovl)[AxisBox(1)] << Save to Column Property;
ovl << close window;
);
//now the same axis will be applied to all sub groups
ovl1 = dt << OverlayPlot( Y( :Petal length ), Overlay(0), By(:Species) );
//all 3 subgroups have the same Y - axis
//ovl = dt << OverlayPlot( Y( eval(ylist) ), Overlay(0), By(:Species) );
Hago escalas personalizadas para ejes solo si:
- hay un rango conocido como límites de control o especificaciones,
- Necesito escalar a algo como +/- k sigma,
- Necesita controlar las líneas de la cuadrícula, por ejemplo, una línea de cuadrícula en cada 0,5 sigma,
- datos cuyo valor nominal es grande pero la variación es muy pequeña, por ejemplo, el valor medio es 1750222 stdev es 0.000023, luego trazo una transformación Y-media y descubro una buena escala y uso el algoritmo, gdinc.jsl
- realice un análisis y determine si los datos están muy sesgados o están agrupados.
En cuanto a la detección de valores atípicos, no he encontrado un método que se aplique a todos los datos. Para datos univariados con datos fuertemente sesgados a la derecha (por ejemplo, Poisson inflado a cero), me gusta usar un método Lenth modificado:
- uscreen = mediana + k * (percentil p superior -mediana) / Abs( Cuantil normal(p) )
- lscreen = mediana - k * (mediana - percentil inferior (p) / Abs (cuantil normal (p))
- donde p podría ser 0,1 (para percentiles 10 y 90) o p podría ser 0,25, entonces esto sería un pseudo sigma modificado y normalmente k está en [4,6] para datos resumidos. Hay ocasiones en que, para datos sin procesar, uso una k mucho mayor.
- Además, normalmente busco todos los datos de una variable, pero si los grupos son bastante diferentes, busco por grupos si hay suficientes datos para cada grupo.
A continuación se muestra un ejemplo para calcular los valores de detección por grupo. Si vargroup tiene 10 grupos, uscreen y lscreen son vectores de tamaño 10 y vg es una lista de 10 nombres de grupos var.
//Find global outliers by vargroup for raw measurement data
//Use an assymetric 6 pseudo-sigma, computed from the 10 & 90th percentiles.
summarize( vg=by(vargroup),
c=count,
q10=quantile(varvalue,.10),
q50=quantile(varvalue,.50),
q90=quantile(varvalue,.90)
);
uscr = q50 + 6*(q90-q50)/Normal quantile(0.9);
lscr = q50 - 6*(q50-q10)/Normal quantile(0.9);Tenga en cuenta:
- No existe un método correcto y siempre debe revisar los métodos con quienes están revisando los datos. Y los valores atípicos nunca deben ignorarse, porque conducen a información posiblemente importante.
- A menudo uso 2 niveles de detección, especialmente cuando necesito calcular los límites de control, la detección de los puntos trazados y la detección de límites... los límites de control no deberían acomodar datos de 5 y 6 sigma.
- Si está creando análisis semanales, tenga en cuenta que puede obtener valores de detección diferentes cada semana. Es posible que desees hacer un megaanálisis una vez y utilizar los mismos límites cada semana.
- Para datos multivariados, se debe utilizar una pantalla multivariada. Ver gráfico. Dos valores atípicos obvios tienen el control basándose en límites univariados. Por lo tanto, si los datos están fuertemente correlacionados, se debe utilizar una pantalla correlacionada. JMP multivariado tiene una bonita pantalla multivariante.

Re: JSL - Generar -xy Gráfico que recorre columnas con diferentes variablesBuen día gzmorgan0 ,
Anteriormente mencionaste "Existen varios métodos para escalar automáticamente y encontrar y eliminar valores atípicos automáticamente".
Me pregunto si no te importaría compartir eso conmigo.He estado codificando mucho y estoy bastante cerca del final con algunos ajustes menores.
yng
Re: JSL - Generar -xy Gráfico que recorre columnas con diferentes variablesPrimero, mi nombre es David. Encantado de conocerlo..
Eso es correcto, quiero una escala uniforme y ajustaría el eje -x según el peor de los casos.Me encantaría escuchar su recomendación para eliminar los valores atípicos. Esos están acabando con mi conjunto de datos. Las piezas que estamos probando eléctricamente PASAN, PASAN APENAS o fallan catastróficamente. Esas piezas catastróficamente fallidas deben eliminarse.
Voy a conectar su script revisado en mi script principal para probarlo. Nuevamente, estoy muy agradecido. También quiero agradecerte por Incluir().. Tenía una gran parte de mi script que no era más que cadenas de extracción de datos SQL. Nuestra base de datos tiene 8 tablas diferentes de las que tengo que extraer datos según el tipo de prueba.
Gracias de nuevo...
Aquí hay un ejemplo para su información: tengo 9 de estos que ocuparon una tonelada de líneas de código que se resolvieron con un Include()
testdata_HAY_DC_QQ_Data = Expr(
"
SELECT
t1.testdate,
t1.wafer_id,
t1.wafer_number,
t1.lot_number,
t2.rownum,
t2.colnum,
t2.die_id,
t2.part_name,
t2.testname,
t2.channel,
t7.header_id,
t7.idx,
t7.run_id,
t7.set_id,
t7.Supply_Name,
t7.Voltage,
t7.Current
FROM tst_master t1
LEFT OUTER JOIN tst_dataset_header t2
ON ( t2.run_id = t1.run_id )
LEFT OUTER JOIN tst_dc_data t7
ON ( t7.header_id = t2.header_id )
WHERE (t1.wafer_number LIKE '"||SelectedLot||"')
AND (t2.testname LIKE '"||SelectedTest||"')
"
);
Re: JSL - Generar -xy Gráfico que recorre columnas con diferentes variables
Yngeinstn,
Tenía la impresión de que querías la misma escala para todas las distribuciones.JMP Distribution normalmente hace un excelente trabajo al escalar los histogramas a los datos disponibles. Sin embargo, cuando traza subconjuntos de datos, la escala de los histogramas individuales será diferente. Si conoce el rango de los datos, asigne los valores para Lo, Hi e inc. Si desea que el script maneje datos cuyo rango podría cambiar con un cambio de proceso o ?? entonces calcular Lo y Hi e inc debería ser una tarea del script.
Para el script anterior, solo usé el mínimo y el máximo del no excluido datos.
Lo = Piso( Col Mínimo ( :test_2 * If( Excluido(), Vacío(), 1 ) ) );
Hola = Techo( Col Máximo( :test_2 * If( Excluido(), Vacío(), 1 ) ) );
A continuación, hice otra modificación para dejar algo de espacio en los extremos: calcule el desarrollo estándar de los datos no excluidos y agregue media desviación estándar.Una de las razones por las que propuse gráficos alternativos que comparan las distribuciones es que JMP escalará a todos los datos incluidos y podrá ver los efectos del canal y el estado de la prueba.
dt = Current Data Table();
jjrn3 = New Window( "Distribution [test_2]", <<JOURNAL></JOURNAL>
Existen varios métodos para escalar automáticamente y encontrar y eliminar valores atípicos automáticamente. Soy reacio a recomendar enfáticamente porque los métodos aceptados por una industria podrían no serlo para otra; y los métodos de datos normales normalmente no se aplican a datos agrupados (datos agrupados o datos espaciales) o datos de defectos o datos de confiabilidad inflados cero.Mi intención es señalar alternativas que podrían funcionar o no para usted.
Re: JSL - Generar -xy Gráfico que recorre columnas con diferentes variables
Sí, bueno, tus habilidades son estelares y cualquier día tomaría una clase de JSL contigo.
Aunque una pregunta rápida... Lo ejecuté con gd_inc.jsl y esto es lo que obtengo. Puedo ver que la escala es casi perfecta, pero mis 15 conjuntos de datos tienen estas 2 diferencias. No quiere decir que esto no vaya a suceder en el futuro. Cuando dices modificar tu script con el segundo que citaste, me confundo. Estoy tratando de reverenciar y descubrir de dónde se derivan 10.5 y 42.0 y creo que tiene algo que ver con la función log(), pero no estoy seguro.

Re: JSL - Generar -xy Gráfico que recorre columnas con diferentes variablesgd_inc() es una función de usuario que se envió anteriormente en esta ruta del blog.Lo adjunté nuevamente.Agregue el código a su secuencia de comandos antes de usarlo o guarde la secuencia de comandos (yo llamo al mío gd_inc.jsl) en un directorio común de funciones útiles, su propia biblioteca personal y para cualquier secuencia de comandos cuando desee calcular buenos incrementos de eje. agregue la declaración.
Include( "mydirectory/gd_inc.jsl" );
Para las personas que admiten informes para su empresa, a menudo crean un script grande, llamado algo así como usr_functions.jsl.Luego, en lugar de numerosas declaraciones Include(), usan solo una Include("mydirectory/usr_functions.jsl")
Aquí está la función nuevamente. Mira la publicación anterior, hay ejemplos de cómo usar esta función.
gd_inc = Function({xlo, xhi, ntic}, {sp,tt, yrnd, ginc, ndec,lc, ll},
sp = (xhi - xlo)/ntic;
tt = log10(sp);
yrnd = If(
tt > 0, 1 - Floor( tt ),
Abs( Floor( tt ) - 1 )
);
ginc =round(sp,yrnd);
ndec = length(word(2,char(ginc),"."));
lc = length(word(1,char(xhi),"."));
if(ndec>0, lc=lc+ndec+1);
if(xlo <0, lc++); //add 1 character for the negative sign
ll=[1,1,1];
ll[1] = ginc; //increment
ll[2] = ndec; //# decimals
ll[3] = lc; //character length
ll
); // end gd_inc
/* test cases
show(gd_inc(1,11,10), gd_inc(.001, .005, 10), gd_inc(10000,20200, 10) )
*/Por cierto, he estado usando y enseñando JMP y JSL durante muchos años. Entonces mi conocimiento no es tan sorprendente, solo trato de compartirlo.
Re: JSL - Generar -xy Gráfico que recorre columnas con diferentes variablesEres increíble con estas cosas de JSL... Ni siquiera sé si pude encontrar algo de eso. Estoy probando el de distribución ahora mismo. Tampoco puedo agradecerte lo suficiente por los otros gráficos. Estoy seguro de que también me preguntarán cómo hacerlo. Para su información, estoy usando JMP 12.1.0, sin embargo, nuestra empresa está migrando a JMP 14, lo cual no puedo esperar debido al complemento Semiconductor Toolkit que encontré en este sitio.
Recibo un error en lo que respecta a la declaración gd_inc.
Nombre sin resolver: gd_inc en acceso o evaluación de 'gd_inc' , gd_inc( Lo, Hi, 10 ) /*###*/
En el siguiente script, error marcado por /*###*/
dt = Current Data Table();
jjrn3 = New Window( "Distribution [test_2]", <<JOURNAL></JOURNAL>
Re: JSL - Generar -xy Gráfico que recorre columnas con diferentes variablesYngeinstn,
He adjuntado 2 scripts:
- Distribución modificada[test_2].jsl, y
- OtrosDistributionPlots.jsl
La conclusión es que no todos los informes de plataforma tienen la misma estructura o los mismos mensajes, y lo que está disponible depende de su versión de JMP.Mostrar estructura de árbol y Obtener XML son mensajes que pueden ayudarle a descubrir la estructura del informe y el Índice de secuencias de comandos enumera los mensajes para los cuadros de visualización.Me gusta usar XPath() para obtener un "control" de objetos difíciles de encontrar o segmentos múltiples, como BoxPlotSeg e HistSeg.Sin embargo, existen otros métodos para hacer referencia a un objeto. Para obtener un identificador del cuadro de escala de la variable Y para un histograma, use
_xx = gb<< Xpath("//ScaleBox[@charID='1']");
_xx << mensaje;
o
Informe( gb )[ScaleBox(1)] << mensaje;
El otro guión muestra gráficos alternativos que son buenos para comparar distribuciones.
Re: JSL - Generar -xy Gráfico que recorre columnas con diferentes variablesGracias por el guión... Tengo una pregunta sobre el primero que pusiste. ¿Lo pones en el guión principal o en uno nuevo por separado?
Me encantó el gráfico que trazó y le ofreció a mi jefe, así que estoy esperando noticias suyas sobre cómo implementarlo en los numerosos informes que solicita.
También tomé el script que me diste sobre cómo trazar -x por -y y lo sustituí Graph Builder por Distribution y funcionó casi a la perfección. Tengo una pregunta sobre la estructura del árbol. Pude retroceder en esta línea y ubiqué el cuadro de texto (1); sin embargo, con la modificación de la distribución, aparece un error al ejecutar este script. Parece que no puedo ubicar las piezas que deben quitarse. Adjunto la tabla de datos y el script modificado que incluye la función de distribución.
( gb << informe superior )[ Caja de texto ( 1 )] << borrar ; //eliminar la declaración donde
Re: JSL - Generar -xy Gráfico que recorre columnas con diferentes variablesGracias por el consejo/código.. Voy a intentarlo esta semana.. Tengo una fecha límite flexible para demostrar la extracción de datos, el formato de la tabla y la salida del gráfico. Tu ayuda ha aumentado enormemente las posibilidades de que tenga éxito.
Re: JSL - Generar -xy Gráfico que recorre columnas con diferentes variablesComo mencioné en mi respuesta anterior, " Puede crear una escala fija o utilizar un algoritmo favorito para encontrar la mejor escala para los datos disponibles. " A continuación se muestra la función gd_inc() creada para el script 7_InteractiveDisplays_Alternates.jsl (para el libro JSL Companion, 2.ª edición).
Es una simplificación de las funciones que uso al codificar una aplicación donde se desconoce el rango de valores.Este script asume que el formato decimal fijo funcionará. Una secuencia de comandos más general determinaría, si hay demasiados decimales, luego cambiaría a notación científica o cambiaría a una escala logarítmica, etc. Antes de usarlo, deberías probarlo.
Los argumentos son Bajo, Alto y Número de incrementos. Devuelve un vector de valor inc, número de decimales para el formato y longitud máxima; en el script completo, se usa para el eje x y la orientación se cambia según su longitud. O la longitud podría usarse para activar si se debe usar algo distinto al formato decimal fijo.
gd_inc = Function({xlo, xhi, ntic}, {sp,tt, yrnd, ginc, ndec,lc, ll},
sp = (xhi - xlo)/ntic;
tt = log10(sp);
yrnd = If(
tt > 0, 1 - Floor( tt ),
Abs( Floor( tt ) - 1 )
);
ginc =round(sp,yrnd);
ndec = length(word(2,char(ginc),"."));
lc = length(word(1,char(xhi),"."));
if(ndec>0, lc=lc+ndec+1);
if(xlo <0, lc++); //add 1 character for the negative sign
ll=[1,1,1];
ll[1] = ginc; //increment
ll[2] = ndec; //# decimals
ll[3] = lc; //character length
ll
); // end gd_inc
/* test cases
show(gd_inc(1,11,10), gd_inc(.001, .005, 10), gd_inc(10000,20200, 10) )
*/Una vez que tenga los resultados, modifique su script.
_yscl = gd_inc(Lo,Hi, 10);
_xx[1] << Axis Setings( {Min( Lo ), Max( Hi ), Inc( _yscl[1] ),
Minor Ticks( 1 ),
Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} ),
Format("Fixed Dec",12,_yscl[2])
});
JMP hace un buen trabajo con el escalado automático, la razón por la que el escalado es demasiado amplio para su generador de gráficos es que está escalando para poder mostrar los puntos, no solo las curvas suavizadas. Una opción es obtener los valores de la curva spline y simplemente trazarlos.
Si eliges no Para ello, necesitará encontrar el máximo y el mínimo de las curvas y deberá decidir si desea que todos los gráficos de Y_i tengan la misma escala, o si cada Y_i y Prueba deben tener la misma escala o cada gráfico tiene su propia escala.La función JMP Spline Smooth() devuelve los valores de spline, y puede encontrar el máximo y el mínimo para cada curva posible y luego obtener el máximo y el mínimo sobre todas. Eso proporcionará Lo y Hi y normalmente uso 10 para la cantidad de incrementos.
Luego use la función gd_inc() y modifíquela.Si conoce los valores alto y bajo, cree una tabla o estadísticas para cada Y.
La escala personalizada puede resultar complicada con múltiples curvas y curvas personalizadas como splines.Si tengo tiempo, adjuntaré un script actualizado para sus datos ficticios.
Por cierto, no estoy seguro de cuán realistas podrían ser sus datos ficticios. Comparar varios gráficos en PowerPoint puede resultar confuso.GraphBuilder es bueno para comparar gráficos. En lugar de numerosos gráficos, posiblemente alguna comparación (no necesariamente la siguiente) podría resultar útil. A continuación se muestra Y_3 frente a canales, para prueba, y diferentes valores de X.

Re: JSL - Generar -xy Gráfico que recorre columnas con diferentes variablesno cargué la mesa..
Re: JSL - Generar -xy Gráfico que recorre columnas con diferentes variablesAcabo de probar tu solución. Normalmente hago Guardar script en la ventana para poder ver cómo se supone que debe verse el gráfico.
He adjuntado datos ficticios modificados para darle una idea de qué es exactamente lo que estoy tratando de lograr.
Con los 15 canales y en este caso 2 estados de prueba que tienen diferentes salidas, no puedo ver una solución única para todos.
Déjame saber lo que piensas por favor.
Esta prueba en particular tiene 3 salidas. que tengo que evaluar por separado.
David
Re: JSL - Generar -xy Gráfico que recorre columnas con diferentes variablesMuy apreciado.. esta tarde lo voy a probar..
Re: JSL - Generar -xy Gráfico que recorre columnas con diferentes variablesPuede crear una escala fija o utilizar un algoritmo favorito para encontrar la mejor escala para los datos disponibles.
A continuación se adjunta una versión modificada del script proporcionado anteriormente. El nuevo código se enumera a continuación.Tenga en cuenta que, para los datos ficticios, la mejor escala es probablemente -8 a 8; sin embargo, elegí -7 para demostrar que se pueden recortar varios gráficos.
_xx = gb<< Xpath("//ScaleBox[@charID='Y']");
_xx[1] << Axis Setings({Min( -7 ), Max( 8 ), Inc( 1 ), Minor Ticks( 1 ),
Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} )});Existen varios métodos para descubrir cómo programar un cambio. Lo más fácil es escribir un gráfico y luego usar la GUI para
cambiar los ejes o títulos o leyendas. Luego, desde el triángulo rojo invertido (en el contorno del generador de gráficos), seleccione Guardar guión > A la ventana de secuencia de comandos . Al utilizar este método, se mostrará un argumento de envío.Vea abajo.
Graph Builder(
Size( 1242, 709 ),
Show Control Panel( 0 ),
Variables( X( :X ), Y( :Y ), Group X( :Wafer ID ), Overlay( :RowCol ) ),
Elements( Smoother( X, Y, Legend( 19 ) ) ),
Where( dt:Channel == chnl & dt:Test State == tst ),
SendToReport(
Dispatch(
{},
"Graph Builder",
OutlineBox,
{Set Title( "Results for Channel=1 and Test State=1" )}
),
Dispatch(
{},
"Y",
ScaleBox,
{Min( -7 ), Max( 8 ), Inc( 1 ), Minor Ticks( 1 ),
Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} )}
)
)
);Dado que su título es personalizado, elimine Dispatch al OutlineBox, luego use este código en su bucle for y cada gráfico tendrá la misma escala especificada en su script.
Re: JSL - Generar -xy Gráfico que recorre columnas con diferentes variables¿Puedo hacerte una pregunta más relacionada con el bucle For() con las gráficas?
¿Hay alguna manera de escalar automáticamente el mejor ajuste?
Si puedo obtener la escala en el ejemplo de Min = 5 y Max = 30, podemos tener una mejor idea de cómo funcionan exactamente las piezas en las Frecuencias...
Por supuesto, tendré que eliminar los valores atípicos de antemano.
Gracias
Re: JSL - Generar -xy Gráfico que recorre columnas con diferentes variablesNo puedo agradecerte lo suficiente por tu ayuda con esto... Nadie aquí en el trabajo podría decirme ni remotamente cómo hacer lo que tú hiciste...
Con esto has reducido el tiempo que me lleva hacer esto al menos en un 80%.
Su solución y los scripts SQL que estoy escribiendo para acceder a nuestros archivos de base de datos nos colocarán en una posición fantástica con nuestro cliente.
Gracias de nuevo..
D
Re: JSL - Generar -xy Gráfico que recorre columnas con diferentes variablesGracias por la respuesta. Voy a usar tus ejemplos para ver si puedo resolverlo.
Intenté usar la instrucción "seleccionar dónde" y funcionó bastante bien.Solo estaba tratando de reducir la cantidad de código que iba a tener que escribir. Tengo 5 pruebas diferentes con todos los parámetros enumerados anteriormente.
Informaré cuando lo pruebe.
Gracias de nuevo..
Re: JSL - Generar -xy Gráfico que recorre columnas con diferentes variablesHola,
Recomendaría modificar su enfoque para generar los gráficos para usar declaraciones donde en lugar del filtro de datos.El filtro de datos es excelente para análisis visuales interactivos; sin embargo, dado que su vista es invisible, le sugiero que utilice una declaración donde.Cuando se utiliza una declaración donde, se ve un cuadro de texto donde; se puede eliminar. También puede utilizar un argumento Por, Por(:Canal, :Estado de prueba). Luego, el script debe acceder a cada GB y guardar la presentación.
No soy fanático de Guardar presentación, me gusta usar P3ICLI, un programa de línea de comandos externo gratuito para crear diapositivas PPTX a partir de mi salida JMP. Ver Ejemplo de JSL para crear PPTX usando P3ICLI . Como cualquier código, parece desordenado, pero se puede crear de forma muy personalizada y puede controlar el tamaño del gráfico y del título.
Sin embargo, para guardar varias tramas usando Guardar presentación, escribimos algunos trucos para registrar múltiples visualizaciones de diseño como imágenes, use guardar presentación, pero debe jugar con el tamaño.
De todos modos, se adjunta una tabla de datos ficticia para emular su escenario y dos scripts, cada uno guarda una imagen por página.
Espero que esto ayude.