Ciao comunità JMP,
Ho uno script che popola due serie di colonne in due elenchi diversi.
Quindi scorro l'elenco dei nomi delle colonne di entrambi i set e quando questi corrispondono (in parte tramite regex) eseguo un grafico Y per X. -- questo va bene.
I singoli grafici bivariati vengono popolati ma non aggiunti al giornale. 
- Posso farlo manualmente ma ci sono moltissime trame (ordine da 100 a 1000)
- Ho cercato di imitare parti di altri esempi in cui sono presenti due giornali (temp = xx e "diario di esempio" principale)
JSL - Aggiunta di una tabella a un diario
- Ho provato a guardare i miei script più vecchi dove funzionava (spinto al diario). Eppure, non mi è chiaro cosa mi sfugge.In questi casi questa parte di codice era simile a quella di seguito, dove newplot è simile all'esempio corrente
Current Journal( "Y_vs_X" );
Report( newplot ) << Journal( "Y_vs_X" );
Sto includendo una buona parte dello script qui sotto/allegato. Sebbene non siano inclusi parametri o tabelle di dati qui. Penso che un professionista individuerà rapidamente l'errore, quindi posso evitare di ripeterlo e avere una migliore comprensione.
//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..." );
In realtà ho scoperto che il mio errore stava usando un "," dopo l'istruzione Wait.
Sostituendolo con un ";" e sotto ha risolto il problema
Wait( 0.01 );
newjrnl << append(Report( current_plot_new ));