各位,
我正在尋找一種方法,通過重新排列我用圖形生成器製作的內容來改進我的圖形佈局。 我現在有 9 個小圖,使用“頁面”選項。 我想要的是將它們排列成 3X3,因為這樣看起來更好(某種格子顯示)。 我知道你可以使用“Wrap”按鈕獲得它,但在那種情況下,所有軸都設置相同,這不是一個選項,因為我用於“Page”的分組變量與具有非常不同的單位和非常不同的順序的參數相關規模…… 以類似的方式,“X 組”或“Y 組”也不起作用。 我試圖將圖表發送到日記並手動重新排序,但我無法很好地將圖表粘貼到另一個圖表旁邊。
不確定我是否需要為此編寫腳本,以確保報告是使用“圖片/顯示框”左右構建的,但問題是,每次我為我的圖形生成器保存腳本然後重新運行它時,該圖未顯示,只有軸是...... 最簡單的(我認為)是首先在圖形生成器中製作圖形,將其發送到期刊,然後重新排列期刊。 正確的?
關於如何處理這個的任何想法?
非常感謝!!
顏妮
您可以創建單獨的圖形,然後將它們放在一個窗口中。如果您總是顯示相同的 9 個圖表,那麼下面的腳本可能就是您所需要的;如果級別發生變化,您可以使用循環構建窗口層次結構。
Names default to here( 1 );
//Open sample data and create a binning column
dt = Open("$SAMPLE_DATA/Body Fat.jmp");
dt << New Column( "Age (decades)",
Numeric,
Nominal,
Format( "Best", 10 ),
Formula( 10 * Floor( :Name( "Age (years)" ) / 10 ) )
);
//function to build each individual graph with a local data filter
GraphDecade = function({decade},
gb = dt << Graph Builder(
Size( 300, 300 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :Name( "Age (years)" ) ) ),
Elements( Histogram( X, Legend( 5 ) ) ),
SendToReport( Dispatch( {},
"Graph Builder",
OutlineBox,
{Set Title( "Decade: " || Char( decade ) )} )
),
Local Data Filter(
Close Outline( 1 ),
Add Filter(
columns( :Name( "Age (decades)" ) ),
Where( :Name( "Age (decades)" ) == decade ),
Display( :Name( "Age (decades)" ), Size( 256, 168 ), List Display )
)
)
)
);
//Window with graphs
win = new window( "Ages by Decade",
V List Box(
Text Box( "Distribution of Ages within Decades", << Set Font Size( 20 ), << Set Width( 600 ) ),
H List Box(
vb1 = V List Box(
GraphDecade(20),
GraphDecade(40)
),
vb2 = V List Box(
GraphDecade(30),
GraphDecade(50)
)
)
)
);
(vb1[1] << Find("Local Data Filter")) << visibility("collapse");
(vb1[2] << Find("Local Data Filter")) << visibility("collapse");
(vb2[1] << Find("Local Data Filter")) << visibility("collapse");
(vb2[2] << Find("Local Data Filter")) << visibility("collapse");
編輯:修正錯誤