cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
The Discovery Summit 2025 Call for Content is open! Submit an abstract today to present at our premier analytics conference.
Get the free JMP Student Edition for qualified students and instructors at degree granting institutions.
Choose Language Hide Translation Bar
View Original Published Thread

フレームボックスのコンテンツに基づくカスタム注釈

hhggzz
Level I

グラフビルダーレポートの個々のフレームに注釈を追加したいと思います。これが(些細な)例です...

 

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder( Variables( X( :height ), Y( :weight ), Group X( :sex ), Group Y( :age ) ) );
gb << SendToReport( Dispatch( {}, "Graph Builder", FrameBox, Add Text Annotation( Text( "Female-12" ), Filled( 0 ) ) ) );

 

 

undefined

 

 

 

 

 

 

 

 

 

上記の例では、左上のフレームボックスに「Female-12」という注釈が含まれています。これはハードコードされた方法で行われました。フレーム内のデータのグループ化に基づいて、各フレームに注釈を追加したいと思います。  

 

理想的には、各フレームボックスのXグループとYグループが何であるかを知り、それに基づいて注釈を作成し、それを各フレームボックスに追加したいと思います。

 

理想的には、誰かがローカルデータフィルターをクリックしたときにグループ化へのFramebox#の割り当てが変更された場合に備えて、ローカルデータフィルターに変更が加えられた後にこれらの注釈もやり直したいと思います。

 

では、どのデータが各フレームボックスにあるかをどのように把握するのですか?

 

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

4 REPLIES 4
jthi
Super User

Re:フレームボックスのコンテンツに基づくカスタムアノテーション

グラフビルダーでのグループ化は少し面倒ですが、データテーブルに基づいた順序を知っている必要があります。また、グループ化の列も知っている必要があります。 その情報を使用して、注釈を作成できる可能性があります

Names Default To Here(1);

dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(Variables(X(:height), Y(:weight), Group X(:sex), Group Y(:age)));

Summarize(dt, uniq = By(:sex, :age));
For Each({{a, b}, idx}, Across(uniq[1], uniq[2]),
 frame = (gb << report)[FrameBox(idx)];
 frame << Add Text Annotation(Text(Eval Insert("^a^ - ^b^")));
);

undefined

ローカルデータフィルターを使用すると、Whereステートメントを解析し、その情報を使用して正しいグループを取得する必要がある場合があります。

このトピックにはいくつかの追加のアイデアがあるかもしれませんグラフビルダーのページタイトルのタイトルの識別

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

txnelson
Super User

Re:フレームボックスのコンテンツに基づくカスタムアノテーション

これが私がそれを処理する方法です

Names Default To Here( 1 );
//This message applies to all display box objects
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );

gb = Graph Builder(
 Size( 567, 496 ),
 Show Control Panel( 0 ),
 Variables( X( :weight ), Y( :height ), Group X( :sex ), Group Y( :age ) ),
 Elements( Points( X, Y, Legend( 11 ) ), Smoother( X, Y, Legend( 12 ) ) )
);
rgb = Report( gb );

rgb[FrameBox( 1 )] << Add Text Annotation(
 Text( "Text for FrameBox(1)" ),
 Fixed Size( 0 ),
 Text Box( {-1, 5, 138, 32} ),
 Filled( 0 )
);
rgb[FrameBox( 7 )] << Add Text Annotation(
 Text( "Text for FrameBox(7)" ),
 Fixed Size( 0 ),
 Text Box( {-1, 0, 138, 27} ),
 Filled( 0 )
);

undefined

 

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

hhggzz
Level I

Re:フレームボックスのコンテンツに基づくカスタムアノテーション

あなたの例は各フレームボックスに注釈を追加する方法を示していますが、私が尋ねている質問は、YグループとXグループがそのフレームボックスにあることを確認する方法です。

 

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

txnelson
Super User

Re:フレームボックスのコンテンツに基づくカスタムアノテーション

その答えはわかりません。私はいつもXとYのグループが何であるかを知っていて、そこから行くことによってそれを働いてきました。オブジェクトからスクリプトを取得し、グループX列とグループY列を削除して、そこから移動できると思います。

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

Recommended Articles

おすすめが見つかりませんでした