我创建了一个脚本,将三个图形构建器图形放入一个报告窗口,每个图形都有自己的列切换器。 这个想法是模仿一堆叠加图,但是不需要滚动查看所有图形,人们就可以选择想要看到哪个单元并与其他两个选项进行比较。 我已经走到了这一步,但我希望对线条或x轴的更改应用于其他两个图形。
使用图形脚本,我可以复制/粘贴从一个图形更改为另一个图形的一些设置:轴设置,线条样式,线条颜色。 我需要能够为线宽做同样的事情,但我无法成功地将线宽从一个图形复制并粘贴到另一个图形。 似乎没有设置我正在使用的线型宽度的命令。
我最初希望能够将整个框架设置从一个复制/粘贴到另一个,但我还没有想出那一个。 理想情况下,我可以访问其中一个的图例设置并将其复制到另外两个。
请参阅下面的我已经工作的代码片段以及我无法工作的代码....
任何帮助表示赞赏,
人
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 />);