¿cuadro de hoja en un bucle for?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />He estado tratando de crear una pantalla usando cajas de hojas y no está yendo bien.
Estoy usando un bucle for para crear una pantalla y usando los comandos "hsheetbooxname << append". .
pero no hacerlo bien. En este sencillo ejemplo a continuación. . puede alguien
muéstrame cómo convertir esto a tipo donde abres una caja de hoja vacía. .
A continuación, añadir en los diferentes objetos? El comando << Hold me ha dejado perplejo.
dt = Abrir ("$ ENGLISH_SAMPLE_DATA / Big Class.jmp");
dt << minimizar ventana ();
Nueva ventana ("Ejemplo",
VSheetBox (
<< Mantener (Bivariable (Y (: peso), X (: altura), FitLine ()))
<< Mantener (Distribución (Distribución continua (Columna (: altura), Disposición horizontal (1), Diagrama de caja de valores atípicos (0))))
<< Sostener (Mapa del árbol (Categorías (: edad))),
<< Sostener (gráfico de burbujas (X (: altura), Y (: peso), tamaños (: edad), colorear (: sexo), tamaño del círculo (6.226), todas las etiquetas (0))),
HSheetBox (
SheetPart ("", ExcerptBox (1, {PictureBox (1)})),
SheetPart ("", ExcerptBox (2, {PictureBox (1)}))
)
HSheetBox (
SheetPart ("", ExcerptBox (3, {PictureBox (1)})),
SheetPart ("", ExcerptBox (4, {PictureBox (1)}))
)
)
);
Re: ¿sheetbox en un bucle for?Si tiene la intención de registrar en diario la ventana que contiene el cuadro de hojas, sí, puedo guardarlo en un diario de forma manual y por script. El displaybox vsb también se puede registrar por diario directamente. Probado con JMP 9 y 10 para Mac.
Re: ¿sheetbox en un bucle for?SRA,
en el ejemplo de la caja de hojas de arriba, ¿puedes guardar esto como un diario?
Me sale una excepción jmp cuando lo hago.
Puntilla
Re: ¿sheetbox en un bucle for?¡Gracias! La caja espaciadora condicional es simplemente comética. Agrega cuadros vacíos al final si el número de gráficos no se ajusta a la matriz de diseño. Funciona sin esta función, pero los gráficos finales se redimensionan automáticamente para llenar la caja de hojas, que puede parecer fea.
Para mí, aprender JSL ha sido un montón de prueba y error. Muchas horas dedicadas a encontrar soluciones elaboradas para cosas (mal documentadas) que "deberían" funcionar pero no. Más tarde, a menudo encuentro una forma mucho más sencilla, por ejemplo, en este foro. ¡Buena suerte!
Re: ¿sheetbox en un bucle for?Guau. Su ejemplo de bucle for es excelente y está cerca de lo que estoy tratando de hacer. La tuya es mucho más elegante que la mía. Humilde Tendré que estudiar el tuyo
cuidadosamente. Mi cerebro todavía está escribiendo expresiones básicas y evaluando expresiones básicas. . Necesito obtener este concepto para hacer clic para llegar al siguiente nivel.
Gracias.
Re: ¿sheetbox en un bucle for?Gracias MS .. Eso funcionó perfectamente y me ahorró más frustración con ese obstáculo.
Mi proyecto más grande en realidad tiene algunas expresiones de sustitución utilizando una lista de columnas. Veré si puedo aplicar este aprendizaje a eso.
Te haré saber cómo sale. Puedo estar llamando de nuevo.
Re: ¿sheetbox en un bucle for?Intenté construir una caja de hojas con un bucle for y se me ocurrió este código. Está adaptado para recopilar gráficos de un informe con un número arbitrario (> 1) de subgrupos, es decir, varios gráficos similares para diferentes subgrupos dentro de la misma ventana. Pero el principio debería ser posible adaptarse a cualquier colección de objetos. Por cierto, intente cambiar Cuadro de imagen (1) a Cuadro de tabla (1) o Cuadro de lista (1).
// Script para recopilar gráficos de un informe con subgrupos
dt = Abierto ( "$ ENGLISH_SAMPLE_DATA / Big Class.jmp" ) ;
por_columna = Columna ( "años" ) ;
objexpr = Expr ( Bivariable ( Y ( : peso ) , X ( : altura ) , FitLine () , por ( por_columna ) ) ) ;
// algunas matemáticas para definir el diseño
Resumir ( sol = por ( por_columna ) ) ;
nobj = N artículos ( sol ) ;
filas = Piso ( Sqrt ( nobj ) ) ;
cols = Techo ( nobj / filas ) ;
// Configurar los paneles.
vsb = Caja de hojas V ( << sostener ( objexpr ) ) ;
HSheetBoxes = {} ;
por ( yo = 1 , yo <= filas , yo ++,
Insertar en ( HSheetBoxes , Caja de hojas H () ) ;
vsb << adjuntar ( HSheetBoxes El yo ] ) ;
) ;
// Rellenar con elementos de informes
por ( yo = 1 , yo <= filas * cols , yo ++,
Si ( yo <= nobj ,
HSheetBoxes El Techo ( yo / cols )] << adjuntar (
Parte de la hoja ( por_columna << obtener nombre || "=" || sol El yo ] , Caja de extractos ( yo , { cuadro de imagen ( 1 )} ) )
) ,
HSheetBoxes El Techo ( yo / cols )] << adjuntar ( Caja espaciadora () )
)
) ;
// Hacer ventana
Nueva ventana ( nombre de la cabeza ( objexpr ) , vsb ) ;
Re: ¿sheetbox en un bucle for?Casi allí. Parece que Hold () funciona con la expresión en lugar de con el objeto de plataforma.
Intenta redefinir tus g's así:
g1 = expr ( Bivariable ( Y ( : peso ) , X ( : altura ) , FitLine ())) ;
g2 = expr ( Distribución ( Columna ( : altura ) , Diseño horizontal ( 1 ) , Parcela de caja atípica ( 0 ))) ;
g3 = expr ( Mapa del árbol ( Las categorías ( : años ))) ;
g4 = expr ( Parcela de burbuja ( X ( : altura ) , Y ( : peso ) , Tamaños ( : años ) , Colorante ( : sexo ) , Tamaño del círculo ( 6.226 ) , Todas las etiquetas ( 0 ))) ;
Re: ¿sheetbox en un bucle for?Aquí está más del formato que estoy buscando. . éste no funciona.
Necesito aplicar la lógica a un proyecto de sheetbox mucho más grande en el que estoy trabajando.
dt = Abrir ("$ ENGLISH_SAMPLE_DATA / Big Class.jmp");
dt << minimizar ventana ();
w = NewWindow ("Nuevo ejemplo", vsb = Vsheetbox ());
g1 = dt << Bivariada (Y (: peso), X (: altura), FitLine ());
g2 = dt << Distribución (columna (: altura), diseño horizontal (1), diagrama de caja de valores atípicos (0));
g3 = dt << Mapa del árbol (Categorías (: edad));
g4 = dt << Diagrama de burbuja (X (: altura), Y (: peso), Tamaños (: edad), Coloración (: sexo), Tamaño de círculo (6.226), Todas las etiquetas (0));
vsb << Hold (g1);
vsb << Hold (g2);
vsb << Hold (g3);
vsb << Hold (g4);
sp1 = SheetPart ("platform1", ExcerptBox (1, {PictureBox (1)}));
sp2 = SheetPart ("platform2", ExcerptBox (2, {PictureBox (1)}));
hsb1 = HSheetBox ();
hsb1 << añadir (sp1);
hsb1 << añadir (sp2);
vsb << añadir (hsb1);
sp3 = SheetPart ("platform3", ExcerptBox (3, {PictureBox (1)}));
sp4 = SheetPart ("platform4", ExcerptBox (4, {PictureBox (1)}));
hsb2 = HSheetBox ();
hsb2 << añadir (sp3);
hsb2 << añadir (sp4);
vsb << añadir (hsb2);
w << Traer la ventana al frente;
w << actualizar;