オーバーレイ変数を使用してグラフビルダーの線幅を変更するオーバーレイ変数を指定したときにグラフ ビルダーで線の幅を変更できるようにしたいのですが、その変数の値が何であるか (または値がいくつあるか) が事前にわかりません。コミュニティの投稿に基づいて、次のことを試しました。
Names Default To Here(1);
Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 3 ) ), Line( X, Y, Legend( 5 ) ) )
);
fbs = gb << XPath("//FrameBox");
For(i = 1, i <= N Items(fbs), i++,
frame = fbs[i];
seg = (frame << Find Seg("Line Seg"));
seg << Set Line Width(1);
);しかし、これによって変更されるのは、線の 1 つ (この場合は :sex=="F") の太さだけです。
ありがとう!
データの探索と視覚化Re: オーバーレイ変数を使用してグラフビルダーの線幅を変更するFind Segs
とても便利な機能ですね!ドキュメントはありますか?
Re: オーバーレイ変数を使用してグラフビルダーの線幅を変更するこんにちは、マシュー。
簡単な修正方法は、 Find SegをFind Segsに変更するだけです。これにより、すべての線分 (性別ごとに 1 つずつ、合計 2 つあります) が検索され、幅が必要に応じて置き換えられます。
さらに、フレーム ボックス (またはグラフ) は 1 つしかないため、ここではForループは必要ありません。参照されているコミュニティの投稿を見つけましたが、その例ではフレーム ボックスが 2 つあります。
したがって、コードを次のように簡略化できます。
Names Default To Here(1);
Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 3 ) ), Line( X, Y, Legend( 5 ) ) )
);
fbs = gb << XPath("//FrameBox");
seg = (fbs << Find Segs("Line Seg"));
seg << Set Line Width(1);
これが役に立つことを願っています!