階層表示ボックスやあ、
JSLでボックスの階層グループを作成する最良の方法は何ですか?
たとえば、性別ごと、年齢ごとのディストリビューション (Big Class.jmp) を作成し、ファイル エクスプローラーのように並べたいとします。
(添付のスクリーンショットを参照してください)
私の質問が明確であることを願っています:)
ありがとうございました
トム。
Re: 階層表示ボックスタブボックスでこれを行う最良の方法は何ですか?
@マークベイリー
ありがとう!
Re: 階層表示ボックスクレイジ、
涼しい......
Re: 階層表示ボックス主に階層ボックスもあります石川特性要因図ですが、3 つのプレゼンテーション スタイルがあります。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
window = New Window( "Hierarch", vlb = Hier Box( Text Box( "Big Class" ) ) );
Summarize( sex group = By( :sex ) );
Summarize( age group = By( :age ) );
For( isex = 1, isex <= N Items( sex group ), isex++,
outline = Hier Box( Text Box( "Sex = " || sex group[isex] ) );
For( iage = 1, iage <= N Items( age group ), iage++,
Eval(
Eval Expr(
outline << Append(
Hier Box(
Text Box( "Age = " || age group[iage] ),
Button Box( "Sex is " || sex group[isex] || " and Age is " || age group[iage],
// the button runs a script, use eval(evalexpr(...expr(xxx)))
// to capture a value of a variable that was only available
// while the display box tree was being constructed...
Print( Expr( age group[iage] ), Expr( sex group[isex] ) )
)
)
)
)
);
);
vlb << Append( outline );
);
vlb << changetype( "fishbone" );
Wait( 1 );
vlb << changetype( "hierarchy" );
Wait( 1 );
vlb << changetype( "nested" );
three styles of hier box presentation3 つのスタイルのハイア ボックス プレゼンテーション
テキストボックスをボタンボックスに置き換えました。 それらのいずれかをクリックすると、次のように表示されます。
「13」
「フ」
Re: 階層表示ボックスツリー ノードを含むツリー ボックスの方が、目的に近い場合があります。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Summarize( sex group = By( :sex ) );
Summarize( age group = By( :age ) );
gender_tree = {};
For( isex = 1, isex <= N Items( sex group ), isex++,
gnode = tree node( "Gender - " || sex group[isex] );
For( iage = 1, iage <= N Items( age group), iage++,
age_node = tree node(age group[iage]);
gnode << append(age_node);
);
insert into(gender_tree, gnode);
);
nw = New Window( "Hierarchy Tree",
gtree = tree box(gender_tree, size(300, 300),
set max size(600, 600),
set autostretching(1, 1)
)
);
root_list = gtree << get roots;
for (i = 1, i <= nitems(root_list), i++,
gtree << expand(root_list[i]);
);

Re: 階層表示ボックス
この回答を投稿した後、もう一度コードを試してみましたが、問題なく動作しました!ごめんねマーク!
ループ変数は Big Class の列名と同じであるため、変更する必要がありました。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
window = New Window( "Hierarch", vlb = V List Box() );
Summarize( sex group = By( :sex ) );
Summarize( age group = By( :age ) );
For( isex = 1, isex <= N Items( sex group ), isex++,
outline = Outline Box( "Sex = " || sex group[isex] );
For( iage = 1, iage <= N Items( age group), iage++,
outline << Append(
Outline Box( "Age = " || age group[iage],
Text Box( "Sex is " || sex group[isex] || " and Age is " || age group[iage] )
)
);
Show( isex, iage );
);
vlb << Append( outline );
);
Re: 階層表示ボックス次の例は、1 つのアプローチを示しています。
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
window = New Window( "Hierarch", vlb = V List Box() );
Summarize( sex group = By( :sex ) );
Summarize( age group = By( :age ) );
For( sex = 1, sex <= N Items( sex group ), sex++,
outline = Outline Box( "Sex = " || sex group[sex] );
For( age = 1, age <= N Items( age group), age++,
outline << Append(
Outline Box( "Age = " || age group[age],
Text Box( "Sex is " || sex group[sex] || " and Age is " || age group[age] )
)
);
Show( sex, age );
);
vlb << Append( outline );
);