Hola comunidad JMP:
Tengo un script que llena dos conjuntos de columnas en dos listas diferentes.
Luego itero a través de la lista de nombres de columna de ambos conjuntos y cuando estos coinciden (parcialmente a través de expresiones regulares) hago un diagrama Y por X. -- esto esta bien.
Las parcelas bivariadas individuales se rellenan pero no se añaden al diario.:(
- Puedo hacerlo manualmente pero hay muchas parcelas (orden de 100 a 1000)
- Intenté imitar partes de otros ejemplos donde hay dos diarios (temp = xx, y el principal "diario de muestra")
JSL - Agregar una tabla a un diario
- Intenté mirar mis scripts más antiguos donde esto funcionaba (empujado al diario). Sin embargo, no tengo claro qué me estoy perdiendo. En tales casos, esta parte del código se veía a continuación, donde newplot es similar al ejemplo actual
Current Journal( "Y_vs_X" );
Report( newplot ) << Journal( "Y_vs_X" );
Incluyo una buena parte del script a continuación / adjunto. Aunque no se incluyen los parámetros ni la tabla de datos aquí. Creo que un profesional detectará rápidamente el error, por lo que puedo evitar repetir esto y tener una mejor comprensión.
//Match parameters that are common between set 1 and set 2 to do bivariate plot and push to journal
For( v = 1, v <= Count_set1, v++,
Titlex = Char( set1_list[v] );
If( Pat Match( Titlex, Regex( Titlex, "([\w.+])(.+)(\:)(.+)(\:)(.+)", "\1\2\3\4" ) ),
matchone = Regex( Titlex, "([\w.+])(.+)(\:)(.+)(\:)(.+)", "\1\2\3\4" ),
);
For( w = 1, w <= Count_set2, w++,
Titley = Char( set2_list[w] );
If( Pat Match( Titley, Regex( Titley, "([\w.+])(.+)(\:)(.+)(\:)(.+)", "\1\2\3\4" ) ),
matchtwo = Regex( Titley, "([\w.+])(.+)(\:)(.+)(\:)(.+)", "\1\2\3\4" ),
);
If(
matchone == matchtwo,
newplot = mydataTable << Bivariate(
X( :As name( Titlex ) ),
Y( :As name( Titley ) ),
SendToReport(
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Add Graphics Script(
2,
Description( "" ),
Pen Color( "blue" );
Y Function( x, x );
), Grid Line Order( 1 ), Reference Line Order( 3 ), DispatchSeg(
TopSeg( 1 ),
{Set Script(
Pen Color( "blue" );
Y Function( x, x );
)}
)}
)
),
rep_plot = newplot << report;
invisible,
),
Wait( 0.01 ),
tmpjrnl = New Window( "temp_journal", <<journal );
rep_plot << journal;
hlb << append (tmpjrnl);
tmpjrnl << close window;
,
);,
);
);
Print( "This is the end, the script has finished running..." );
En realidad, encontré que mi error fue usar un "," después de la declaración de espera.
Reemplazándolo con un ";" y abajo resolvió el problema
Wait( 0.01 );
newjrnl << append(Report( current_plot_new ));