排列未知數量的圖表你好,
我有 4 列:X、Y、A、B。
X 和 Y 是數字,A 和 B 是字符。
我想創建多個 X 與 Y 圖表(按 A 和 B),但它們的排列方式與我默認得到的不同。
我默認得到的是一長列中的所有圖表。
我想要得到的是 A 的行和 B 的列(一種矩陣)。
問題是,對於每個 A,都有不同數量的 B。
例如,對於 A=176,有 B=1...10,但對於 A=177,有 B=1...11。
所以我想要的是第一行的所有 A=176 圖表,以及第二行的所有 A=177。
我想我的解釋不是很好,所以請看我得到的和我想要的兩個附加圖像。
當然我想知道如何使用 JSL 代碼來獲得它。
任何幫助將不勝感激。
謝謝!
腳本回复:排列未知數量的圖表我什至沒有考慮過圖形生成器,但它實際上在這里工作得很好。
謝謝!
回复:排列未知數量的圖表這正是我一直在尋找的。 謝謝!
如果 B 也是數字,代碼會有所不同嗎? 例如,在 Big Class 中,B 將是 Age,因此它可以是數字和字符。
我問是因為當 B 是一個字符時,它按以下順序排列圖表:1,10,11,2,3...
而當 B 為數字時,則將其排列為 1,2,3...10,11(此處更適合)。
謝謝!
回复:排列未知數量的圖表這是我將如何做到的。我在 JSL 中做的一項不是必需的,但使顯示看起來更好。我使用 Substitute 函數使 Where 子句更具可讀性。

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << set name( "Example" );
dt:age << set name( "B" ) << data type( character );
dt:sex << set name( "A" );
dt << delete columns( "name" );
Summarize( dt, aList = by( :A ) );
Summarize( dt, bList = by( :B ) );
NW = New Window( "Matrix OutPut", vlb = V List Box() );
For( i = 1, i <= N Items( aList ), i++,
hlb = H List Box();
For( k = 1, k <= N Items( bList ), k++,
If( N Rows( dt << get rows where( :A == alist[i] & :B == bList[k] ) ) > 0,
hlb << append(
V List Box(
Eval(
Substitute(
Expr(
biv = Bivariate(
Y( :height ),
X( :weight ),
Where( :A == __aList__ & :B == __bList__ )
)
),
Expr( __aList__ ), aList[i],
Expr( __bList__ ), bList[k]
)
)
)
)
)
);
vlb << append( hlb );
);回复:排列未知數量的圖表嗨尤塔姆,
對於 Graph Builder 來說,這似乎是一項完美的工作:
1) 將您的 X 列拖到 X 軸框
2) 將 Y 列拖到 Y 軸框
3) 將 A 列拖到 X 組框
4) 將 B 列拖到 Y 組框
讓我知道這對你有用。
最好的,
TS