やあ! 私はJMP Pro 14を持っています。 このグラフのように、Q3 の上の文字でカテゴリ間の有意差を示したいいくつかの箱ひげ図を作成しています。

ボックスの上に文字 a と b を配置するにはどうすればよいですか? 私のプロットはこれです:

Mi Graph Builder のコードは次のとおりです。
Graph Builder(
Size( 571, 448 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Show Title( 0 ),
Show Footer( 0 ),
Variables( X( :Cat ), Y( :Name( "Pl/min" ) ) ),
Elements( Box Plot( X, Y, Legend( 6 ), Box Style( "Solid" ) ) ),
SendToReport(
Dispatch(
{},
"Cat",
ScaleBox,
{Reversed Scale, Label Row(
{Set Font Size( 12 ), Tick Mark( Label( "6" ), Label( "6 " ) ),
Tick Mark( Label( "7" ), Label( "7 " ) )}
)}
),
Dispatch(
{},
"Pl/min",
ScaleBox,
{Min( 5.5 ), Max( 18 ), Inc( 2 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
6,
Properties(
0,
{Line Color( 32 ), Fill Color( 0 )},
Item ID( "Pl/min", 1 )
)
)}
),
Dispatch( {}, "X title", TextEditBox, {Set Font Size( 12 )} ),
Dispatch( {}, "Y title", TextEditBox, {Set Font Size( 12 )} ),
Dispatch(
{},
"Graph Builder",
FrameBox,
{DispatchSeg(
Box Plot Seg( "Box Plot (4)" ),
{Line Color( {128, 128, 128} ), Fill Color( "Medium Dark Red" )}
), DispatchSeg(
Box Plot Seg( "Box Plot (5)" ),
{Line Color( {128, 128, 128} ), Fill Color( "Medium Dark Yellow" )}
), DispatchSeg(
Box Plot Seg( "Box Plot (6)" ),
{Line Color( "Medium Dark Yellow" ),
Fill Color( "Medium Dark Green" )}
), DispatchSeg(
Box Plot Seg( "Box Plot (7)" ),
{Line Color( "Medium Dark Yellow" ),
Fill Color( "Medium Dark BlueCyan" )}
), DispatchSeg(
Box Plot Seg( "Box Plot (8)" ),
{Line Color( "Medium Dark Yellow" ),
Fill Color( "Medium Dark Magenta" )}
), DispatchSeg(
Box Plot Seg( "Box Plot (9)" ),
{Line Color( "Medium Dark Purple" ),
Fill Color( "Medium Dark Fuchsia" )}
)}
)
)
);前もって感謝します。
マガリ。
私はあなたがしなければならないと思います:
- これらの文字を計算します (私の 5 秒間のグーグル検索に基づいて、これらの文字は Tukey のテストからのものであるため、Connecting Letters Report を使用しました)
- これらの文字を正しい行にマップする新しい列を作成します
- その列をマーカーとして使用する
- グラフ ビルダーにポイントを追加する
- ポイントプロットに適切な要約統計量を使用して、それらを適切な位置に表示します (オフセットを作成するために新しい列が必要になる場合があります)
- グラフにマーカーを表示する必要があります
手順 2 ~ 6 を組み合わせてグラフィック スクリプトにすることもできます。
非グラフィック スクリプト オプションを使用した Big Class のかなり単純な例を次に示します。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
fit = dt << Oneway(Y(:height), X(:age), All Pairs(1), invisible);
letters_tb = ((Report(fit)[OutlineBox("Connecting Letters Report")]) << child) << child;
tb_letter_cols = Filter Each({col_name}, letters_tb << Get Names,
Starts With(col_name, "~Letter Column ")
);
aa_letters = Associative Array();
For Each({level, idx}, letters_tb[1] << get,
aa_letters[level] = "";
For Each({letter_col, idx_col}, tb_letter_cols,
aa_letters[level] ||= letters_tb[1 + idx_col][idx];
);
);
fit << close window;
dt << New Column("TukeyLetters", Character, Nominal, UseForMarker(1), << Set Each Value(
aa_letters[char(:age)];
));
gb = dt << Graph Builder(
Size(529, 451),
Show Control Panel(0),
Variables(X(:age), Y(:height)),
Elements(
Box Plot(X, Y, Legend(6), Box Style("Solid"), Fences(0)),
Points(
X,
Y,
Legend(7),
Summary Statistic("Third Quartile"),
Error Interval("None")
)
)
);

編集:
このウィッシュリストアイテムを作成しましたboxplot を使用する場合はグラフ ビルダーに重要文字を表示し、比較を実行する場合は fit y by x に表示します