Cómo guardar cada gráfico del generador de gráficos en un archivo de imagen con el título de la matriz ListHola a todos,
He intentado encontrar una manera de guardar mis resultados en un pptx. plantilla y me di cuenta de que primero debía guardar cada resultado en un archivo para luego compilarlo en un informe de plantilla.
Según la siguiente publicación:
https://community.jmp.com/t5/Discussions/the-graph-size-exported-to-pptx-Save-Presentation/mp/72135#M35554
Sin embargo, no he podido encontrar una manera de nombrar mis archivos de acuerdo con la Lista que se crea en el bucle. Estoy usando el siguiente ejemplo de Big Class:
dt2 = Open( "$SAMPLE_DATA\Big Class.JMP" );
win = New Window( "Graphs", lub = Lineup Box( N Col( 2 ) ) );
ages = (Associative Array( Column( dt2, "age" ) ) << Get keys);
For( i = 1, i <= N Items( ages ), i++,
dt2 << select where( :age == ages[i] );
dt = dt2 << subset( invisible, selected rows( 1 ), selected columns( 0 ) );
lub << append(
gb = dt << Graph Builder(
Variables( X( :weight ), Y( :height ), Wrap( :age, N View Levels( 1 ) ) ),
Elements( Points( X, Y, Legend( 7 ) ), Smoother( X, Y, Legend( 9 ) ) ),
Local Data Filter(
Close Outline( 1 ),
Add Filter(
columns( :age ),
Where( :age == ages[i] ),
Display( :age, Size( 224, 126 ), List Display )
)
)
);
Report( gb )[AxisBox( 2 )] << Min( 0 );
gb<< save picture(Eval Insert("C:\....\BigClass^i^.png"));););¿Hay alguien que sepa cómo hacer esto?
He intentado usar el siguiente en su lugar, pero no funciona.
gb << Save Picture( "C:\BigClass_" || Ages[i] ||".jpg", JPEG );
¿Necesito crear una Cadena/Lista diferente para esto? Cualquier orientación es muy apreciada.
Gracias
Re: Cómo guardar cada gráfico del generador de gráficos en un archivo de imagen con el título de la matriz ListNo puedo responder directamente a su pregunta, pero solo un par de ideas sobre el enfoque. Es posible que desee explorarlos a través de point'n'clikc antes de buscar secuencias de comandos.
1. Es posible que desee utilizar el rol de página en Graph Builder porque esto crea una gráfica separada con ejes para cada nivel de la variable en página.
dt = Open( "$SAMPLE_DATA\Big Class.JMP" );
Graph Builder(
Size( 518, 2948 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ), Page( :age ) ),
Elements( Points( X, Y, Legend( 5 ) ), Smoother( X, Y, Legend( 6 ) ) )
);
2. Podría valer la pena pensar en cómo puede usar la capacidad de guardar como powerpoint. Desde cualquier informe: Archivo > Guardar como > Guardar como tipo: Presentación de Powerpoint. Guardar presentación () es la función JSL.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = bivariate( y( :weight ), x( :height ) );
rbiv = biv << report;
rbiv << Save Presentation( "$TEMP/jmp_example.pptx" );
Open( "$TEMP/jmp_example.pptx" );
Espero que ayude.
Saludos,
phil
Re: Cómo guardar cada gráfico del generador de gráficos en un archivo de imagen con el título de la matriz List@gzmorgan0
Gracias por la respuesta.
Estoy tratando de usar JSL hasta el punto en que necesito crear el informe en pptx. La razón para guardar los gráficos según el nombre de la lista es que necesito crear un informe para cada elemento de esta lista.
He puesto el script JSL a continuación. El script tal como está funciona pero no guarda los gráficos con su nombre de lista correspondiente, solo guarda cada gráfico como muestra_1; muestra_2... etc. Por ejemplo, el nombre de mi muestra_1 es "EH3", sin embargo, los nombres cambiarán cada mes y, por lo tanto, idealmente lo necesitaría para obtener el nombre de la lista.
Todavía tengo que agregar una tabla de resumen para cada muestra [i] y agregarla junto con el gráfico a pptx. es posible?
win = New window("Graphs", lub = Lineup Box (Ncol(3)));
//selecting the list of samples or variables for which a graph is required
Samples = (Associative Array(Column (dt4, "Sample"))<<GET keys=""></GET>
Re: Cómo guardar cada gráfico del generador de gráficos en un archivo de imagen con el título de la matriz ListTu última publicación tenía
gb<< save picture(Eval Insert("C:\temp\^i^.png") ||Char(Ages[i])||".jpg",JPEG););Por favor, mire su sintaxis. Para i=1 donde Ages[i] = 12, esto produciría la cadena "C:\temp\1.png12.jpg" .
gb<< save picture("C:\temp\Age_" ||Char(Ages[i])||".jpg",JPEG););F o i=1 donde Ages[i] = 12, esto produciría la cadena "C:\temp\Age_12.jpg"
Su ejemplo original usó valores únicos de la columna: edad como su lista.Si el guardado no funciona y no se debe a una sintaxis deficiente, es posible que los valores en su lista tengan símbolos que no pueden ser un nombre de Windows válido. No abrí el enlace al que hace referencia hasta ahora. Si usa p3icli para crear pptx, puede usar los comandos de p3icli para títulos y subtítulos para nombres o comentarios complejos. He usado este método para escribir informes para auditar los límites de control:
- crear una lista de comandos p3icli, llamé a cmdlist, luego, para cada uno, inserto en cmdlist los comandos p3icli para
- para insertar nueva diapositiva o plantilla duplicada
- un comando para un complejo título que proporciona información de parámetros de contexto, fechas de datos, etc. sobre el gráfico que se mostrará
- un comando para insertar la imagen usando nombres simples como fid1 o fid2
- un comando para un título basado en los análisis, si los límites son demasiado flexibles o demasiado estrictos, etc.
Escribí este esquema como una ilustración del uso de las opciones de títulos y subtítulos de p3icli en lugar de usar nombres de archivos guardados.
Si necesita usar una alternativa para p3icli, este no es el foro adecuado, envíe un mensaje privado.
Después de revisar su lista, no encuentra símbolos inusuales como @ # % ( ) - ^ en su lista, luego debe proporcionar un fragmento de su código JSL real y el mensaje de error.
Re: Cómo guardar cada gráfico del generador de gráficos en un archivo de imagen con el título de la matriz ListDefinitivamente funciona, pero no es lo que quiero. Me gustaria tener la imagen como al guardar imagen <<Re: Cómo guardar cada gráfico del generador de gráficos en un archivo de imagen con el título de la matriz ListEstaba pensando en algo como lo siguiente, pero ahora me doy cuenta de que probablemente no sea lo que quieres, ya que no captura los ejes.
dt2 = Open( "$SAMPLE_DATA\Big Class.JMP" );
gb = dt2 << Graph Builder(
Size(800, 600),
Variables( X( :weight ), Y( :height ), Wrap( :age ) ),
Elements( Points( X, Y ), Smoother( X, Y ) )
);
Report( gb )[AxisBox( 2 )] << Min( 0 );
dt = gb << make into data table();
for each row(dt,
img = :graph;
img << save image(Eval Insert("$DOCUMENTS/BigClass^char(:age)^.png"));
);
Re: Cómo guardar cada gráfico del generador de gráficos en un archivo de imagen con el título de la matriz List@xangregg
¿Cómo referenciarías entonces cada tabla? ¿Cómo guardaría entonces cada tabla en una imagen con el nombre de la Lista?
¿Podría mostrar cómo haría esto en este ejemplo de Big Class?
Gracias
Re: Cómo guardar cada gráfico del generador de gráficos en un archivo de imagen con el título de la matriz List@gzmorgan0
Gracias por el consejo. Funciona bajo este ejemplo para Big Class. Sin embargo, no funciona en mi scrypt.
Probé ambos comandos y solo el primero funciona para mi secuencia de comandos, pero solo reemplaza ^i^ como un número y no como Nombre/Carácter, que es lo que tengo como Lista. El segundo comando funciona bien para el ejemplo de Big Class, ¿entonces puede ser que Char() no sea aplicable para nombres?
gb<< save picture(Eval Insert("C:\temp\BigClass^i^.png"));
//and also
gb << Save Picture( "C:\temp\BigClass_" || char(Ages[i]) ||".jpg", JPEG );
);
También intenté usar la función Char() en la primera línea de comando, pero no funciona como "||" no parece funcionar para Eval Insert().
C:\temp\^i^.png") ||Char(Ages[i])||".jpg",JPEG););gb<< save picture(Eval Insert("
¿Sabes cómo evitar esto?
Re: Cómo guardar cada gráfico del generador de gráficos en un archivo de imagen con el título de la matriz ListNecesita una función Char() alrededor de Ages[i]. Los valores de su matriz asociativa Ages son numéricos.Tenga en cuenta que el siguiente script está escribiendo en el directorio c:\temp\. También la declaración comentada funcionará también.Debe cerrar su instrucción Append() antes de guardar la instrucción.
dt2 = Open( "$SAMPLE_DATA\Big Class.JMP" );
win = New Window( "Graphs", lub = Lineup Box( N Col( 2 ) ) );
ages = (Associative Array( Column( dt2, "age" ) ) << Get keys);
For( i = 1, i <= N Items( ages ), i++,
dt2 << select where( :age == ages[i] );
dt = dt2 << subset( invisible, selected rows( 1 ), selected columns( 0 ) );
lub << append(
gb = dt << Graph Builder(
Variables( X( :weight ), Y( :height ), Wrap( :age, N View Levels( 1 ) ) ),
Elements( Points( X, Y, Legend( 7 ) ), Smoother( X, Y, Legend( 9 ) ) ),
Local Data Filter(
Close Outline( 1 ),
Add Filter(
columns( :age ),
Where( :age == ages[i] ),
Display( :age, Size( 224, 126 ), List Display )
)
)
);
);
Report( gb )[AxisBox( 2 )] << Min( 0 );
//gb<< save picture(Eval Insert("C:\temp\BigClass^i^.png"));<BR />
gb << Save Picture( "C:\temp\BigClass_" || char(Ages[i]) ||".jpg", JPEG );
);
Re: Cómo guardar cada gráfico del generador de gráficos en un archivo de imagen con el título de la matriz List¿Ayuda "gb << Convertir en tabla de datos()"? Crea una nueva tabla de datos con una columna de imágenes.