我不知道這是否是解決方案,但請嘗試轉向適合窗口關。

Graph Builder(
Size( 457, 479 ),
Fit to Window( "Off" ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) )
);
全面披露 - 與 Graph Builder 相比,我更喜歡 JSL 中較舊的圖形繪製例程,但我正在誠實地嘗試進行切換。
我遇到了一個問題,我正在動態地將圖表添加到日記中,並且我試圖非常嚴格地控制圖表大小,以便軸和值水平排列。我正在 JSL 中建立一個包含多個項目的 H 列錶框,將該 H 列錶框發送到 Journal,然後對另一個參數執行相同的操作。然而,當我使用 Graph Builder 時,Size 屬性似乎被完全忽略,所有 GraphBuilder 最終的尺寸似乎都是 300x300px。當我透過其他繪圖路線(變異圖、控制圖、疊加圖)建立圖表時,這種情況不會發生。有用。
我嘗試以不同的方式解決這個問題,並製作了一些測試程式碼,以完全相同的方式將 H 列錶框新增到新視窗而不是日誌中,一切都按預期進行。請參考下圖,左側是不正確的日誌輸出,右側是正確的「新視窗」輸出。有人知道《華爾街日報》發生了什麼事嗎?

Windows JMP 14.2
使用 Big Class 範例資料表的範例測試程式碼。
//Uses BigClass example data
// Create array of parameters
ParameterArray = {"height", "weight"};
numbatches = nrows(Current Data Table());
wind = New Window( "Example");
// Loop through parameters
for (i = 1, i <= N Items(ParameterArray),i++,
ColName = ParameterArray[i];
// Create charts
xBox = H List Box ();
xBox << append( gbbp = Graph Builder(
Size( 150, 300 ),
Show Control Panel( 0 ),
Variables( Y( Column( ColName ) ), Overlay( :sex ) ),
Elements( Box Plot( Y, Legend( 2 ) ) ),
SendToReport(
Dispatch(
{},
ColName,
ScaleBox,
{Label Row( {Major Grid Line Color( -14277081 ), Show Major Grid( 1 )} )
}
),
Dispatch( {}, "400", LegendBox, {Set Title( "" )} )
)
);
);
xBox << append( gb = Graph Builder(
Size( 900, 300 ),
Show Control Panel( 0 ),
Legend Position( "Inside Left" ),
Variables( X( :age ), Y( Column( ColName ) ), Overlay( :sex ) ),
Elements( Line( X, Y, Legend( 32 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
OutlineBox,
{Set Title( ColName || " Chart" )}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( ColName || " Chart" )}
),
Dispatch( {}, "400", LegendBox, {Sides( "Left" )} )
)
);
);
// Save to journal
xBox << journal;
wind << append(xBox);
);
你好
我剛剛遇到了這個問題,試圖將幾個箱形圖與其他一些內容一起放入報告中。至少不只是我一個人這樣!
這個問題有沒有解決?這是一個錯誤還是一個功能?
如何做你所做的事情(「建立一個視窗然後將其發送到期刊」)?
很難開始使用 JSL,因為它似乎...與我使用過的任何其他語言都有點不同,而且我沒有時間花時間深入理解它。
有沒有一種方法可以製作不涉及圖形產生器的箱線圖?
也在努力處理文檔,這沒有幫助!
謝謝
約翰
我認為大小問題的主要原因是報告在記錄時不是視窗的一部分。這可能應該被視為一個錯誤,我將報告它,但解決此問題的一種方法是簡單地重新排序命令以將報告添加到視窗並保存日誌:
// Add reports to window
wind << append(xBox);
// Save to journal
xBox << journal;
希望有幫助,
-和