我創建了一個腳本,將三個圖形構建器圖形放入一個報告窗口,每個圖形都有自己的列切換器。 這個想法是模仿一堆疊加圖,但是不需要滾動查看所有圖形,人們就可以選擇想要看到哪個單元並與其他兩個選項進行比較。 我已經走到了這一步,但我希望對線條或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 />);