Ho creato uno script che mette tre grafici del generatore di grafici in una finestra di report, ogni trama con il proprio switcher di colonne. L'idea è di imitare una serie di trame sovrapposte, ma invece di dover scorrere per vedere tutti i grafici, si sarebbe in grado di scegliere quale unità si vorrebbe vedere e confrontare con le altre due scelte. Sono arrivato a questo punto, ma voglio che le modifiche apportate alle linee o all'asse x vengano applicate agli altri due grafici.
Utilizzando uno script grafico, sono in grado di copiare / incollare alcune impostazioni che vengono modificate da un grafico a un altro: impostazioni dell'asse, stile della linea, colore della linea. Devo essere in grado di fare lo stesso per la larghezza della linea, ma non sono riuscito a copiare e incollare correttamente la larghezza della linea da un grafico all'altro. Non sembra essere un comando per impostare la larghezza del tipo di linea che sto usando.
Inizialmente avevo sperato di essere in grado di copiare / incollare l'intera impostazione del frame da uno all'altro, ma devo ancora capirlo. Idealmente, sarei in grado di accedere alle impostazioni della legenda di una e copiarla alle altre due.
Vedi sotto per un frammento del codice che ho lavorato e quello che non riesco a far funzionare ....
Qualsiasi aiuto è apprezzato,
Al
frame1 = Report(gb1)[FrameBox( 1 )];
frame2 = Report(gb2)[FrameBox( 1 )];
frame3 = Report(gb3)[FrameBox( 1 )];<BR /><BR />frame1 << add graphics script(<BR /> // Check for a change<BR /> If( gb1XOrigin != X Origin() | gb1XRange != X Range(), <BR /> // If a change is found, copy the new Y Origin and Y Range<BR /> // to the Flagging(Holding) variables<BR /> gb1XOrigin = X Origin();<BR /> gb1XRange = X Range();<BR /> // Copy the new axis settings from the OneWay display<BR /> // to the Bivariate Y Axis<BR /> Report( gb1 )[Axis Box( 1 )] << Copy Axis Settings;<BR /> Report( gb2 )[Axis Box( 1 )] << Paste Axis Settings;<BR /> Report( gb3 )[Axis Box( 1 )] << Paste Axis Settings;<BR /> );<BR /> For( i = 1, i <= NItems(Sel_Batches_List), i++,<BR /> seg1 = (frame1 << FindSeg( LineSeg( i ) ) );<BR /> seg2 = (frame2 << FindSeg( LineSeg( i ) ) );<BR /> seg3 = (frame3 << FindSeg( LineSeg( i ) ) );<BR /> seg1Style = seg1 << Get Line Style();<BR /> seg2 << Set Line Style( EvalExpr( seg1Style ) );<BR /> seg3 << Set Line Style( EvalExpr( seg1Style ) );<BR /> );<BR /> For( i = 1, i <= NItems(Sel_Batches_List), i++,<BR /> seg1 = (frame1 << FindSeg( LineSeg( i ) ) );<BR /> seg2 = (frame2 << FindSeg( LineSeg( i ) ) );<BR /> seg3 = (frame3 << FindSeg( LineSeg( i ) ) );<BR /> seg1Color = seg1 << Get Line Color();<BR /> seg2 << Set Line Color( EvalExpr( seg1Color ) );<BR /> seg3 << Set Line Color( EvalExpr( seg1Color ) );<BR /> );<BR /> //This is where I am running into problems, breaks the entire graphics script<BR /> /*For( i = 1, i <= NItems(Sel_Batches_List), i++,<BR /> seg1 = (frame1 << FindSeg( LineSeg( 3 ) ) );<BR /> seg2 = (frame2 << FindSeg( LineSeg( 3 ) ) );<BR /> seg3 = (frame3 << FindSeg( LineSeg( 3 ) ) );<BR /> seg1Width = seg1 << Get Line Width(); //This get works<BR /> //seg2 << Set Line Width( EvalExpr( seg1Width ) ); //Setting does not work<BR /> //seg3 << Set Line Width( EvalExpr( seg1Width ) ); <BR /> );*/<BR />);