VariabilityPlot について留意すべきことは、各最下位グループの幅が非表示の x 軸上で 0 から始まるちょうど 1 であるということです。これにより、関連する行を簡単に追加できます。
大きなグループのそれぞれに含まれるサブグループの数を把握することだけが少し複雑ですが、データ テーブルの概要機能が役立ちます。
これは、あなたが求めることを行うスクリプトの例です。

names default to here(1);
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Cars.jmp" );
rpt = dt << Variability Chart(
Y( :Head IC),
X( :Make, :Model ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
Show Range Bars( 0 ),
Show Cell Means( 0 ),
Std Dev Chart( 0 ),
Points Jittered( 1 ),
Where( :NAME("D/P") == "Driver" & :Protection == "manual belts" ),
);
//find groupings:
rows = dt << Get Rows Where( :NAME("D/P") == "Driver" & :Protection == "manual belts" );
subt = dt << Subset( Rows( rows ), Columns( :Make, :Model, :Wt ), Not Linked, Private );
sumt = subt << Summary( Group( :Make, Model ), Mean( :Wt ), Statistics Column Name Format( "Column" ), Link to Original Data Table( 0 ), Private );
Close( subt, No Save );
subt = sumt << Summary( Group( :Make ), Mean( :Wt ), Statistics Column Name Format( "Column" ), Link to Original Data Table( 0 ), Private );
Close( sumt, No Save );
category number = [=>];
category average = [=>];
For Each Row( subt,
category number[:Make] = :N Rows; // each least-significant category in a VariabilityPlot is exactly X=1 width on the hidden x-axis, starting at zero
category average[:Make] = :Wt
);
Close( subt, No Save );
tree = rpt << Report;
Eval( Eval Expr(
tree[FrameBox( 1 )] << Add Graphics Script(
Local( {values = Expr( category average ), numbers = Expr( category number ), i, items, sum = 0},
items = categories << Get Keys;
Pen Size( 2 );
Pen Color( "Blue" );
Summation( i = 1, N Items( items ),
Line( Eval List( {sum, values[items[i]]} ), Eval List( {sum += categories[items[i]], values[items[i]]} ) );
0
)
)
)
) )やあ、
まず第一に、情報とコードをありがとうございます。私は行ごとに行き、あなたがこれをどのようにスクリプト化したかを学ぼうとしています. スクリプトを実行すると、コンソール ログに表示される「cagegories << Get Keys」行のエラーが表示されます。 これを修正する方法を知っていますか、それとも別の変数であるはずですか?


ありがとう、助けてくれてありがとう!
申し訳ありませんが、変数名を部分的に変更しただけです。名前カテゴリーになるはずだった数字.上記の返信で編集しました。
こんにちは、みんな、
2 つの条件で分割された変動グラフを作成しました。そうすることで、jmp は共有 y 軸を持つグラフを作成します。 この共有 y 軸に関する私の問題は、水平線を追加すると、グループごとに異なる水平線を設定できるのではなく、各 x 分割を横切って水平線が追加されることです。 水平線を元のデータテーブルの値にしたい値として、各ループでこれが可能であるかどうか疑問に思っていました。
names default to here(1);
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Cars.jmp" );
dt << Variability Chart(
Y( :Head IC),
X( :Make, :Model ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
Show Range Bars( 0 ),
Show Cell Means( 0 ),
Std Dev Chart( 0 ),
Points Jittered( 1 ),
By( :NAME("D/P"), :Protection )
);
これは、テーブルの値に基づいてどのように見えるかが理想的です。
これに対する私の現在の試みは次のとおりです。
for each( {bygroup, i}, value,
report(dt[i])[AxisBox(1)] << add ref line(value[i], "Dotted","Black", Char(value[i]))このデータセットを使用できるようにするために、列「:Wt」を使用してこれを示すことができれば、本当に感謝します。 ありがとう!