要素に対するグラフ ビルダー JSL コマンドこんにちは、
グラフビルダー要素の編集(要素の追加/要素の削除/要素へのラベルの追加)の構文が見つかりません。後グラフの準備ができました。
Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
Size( 465, 278 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( X( :age ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Line( X, Y, Legend( 1 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y, Legend( 2 ) ) )
);
//gb[Elements(2)] << Label( "値によるラベル" );// ?? // これの構文は何ですか?
//gb << 要素を追加(Position( 1, 3 ), Line( X, Y, Legend( 3 ) ));// ?? //Y は重みでなければなりません
ありがとう
マスカスタマイゼーションRe: 要素上のグラフ ビルダー JSL コマンドJmp17以降:)
Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
Size( 465, 278 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( X( :age ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Line( X, Y(1), Legend( 1 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y(2), Legend( 2 ) ) )
);
gb << Update Element(1,2,1, {Label("Label by Value")});
gb << Add Variable({:weight, Role("Y"), Method("insert")}); //creates a bar chart
gb << Add Element( 1, 3 , {Type("Line"), X, Y}, Legend( 3 ) );
gb << Remove Element( 1, 3 , 1 ); //remove bar chartRe: 要素上のグラフ ビルダー JSL コマンドお二人とも本当にありがとうございました。
「GraphBuilderBox」がキーワードです...
Re: 要素上のグラフ ビルダー JSL コマンド@tom_abramov 、
それは私でした、ユーザー構文エラーでした。彼女は行きます。
Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
Size( 465, 278 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( X( :age ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Line( X, Y(1), Legend( 1 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y(2), Legend( 2 ) ) )
);
gbb = report(gb)[GraphBuilderBox(1)];
gbb<< Update Element(1,2,1, {Label("Label by Value")});
report(gb)[GraphBuilderBox(1)] << Add Variable({:weight, Role("Y"), Method("insert")}); //creates a bar chart
gbb = report(gb)[GraphBuilderBox(1)];
gbb << Add Element( 1, 3 , {Type("Line"), X, Y}, Legend( 3 ) );
gbb << Remove Element( 1, 3 , 1 ); //remove bar chart
Re: 要素上のグラフ ビルダー JSL コマンド@tom_abramov 、
ジムと同じように、私は別の長い道を歩みました。 @txnelson 。JMP には次のメッセージに関する簡単な解決策があるので、私は笑うしかありませんでした。
GraphBuilderBox() に送信される更新 Element()
Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
Size( 465, 278 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( X( :age ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Line( X, Y(1), Legend( 1 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y(2), Legend( 2 ) ) )
);
gbb = report(gb)[GraphBuilderBox(1)];
gbb<< Update Element(1,2,1, {Label("Label by Value")});
/* //hard way not recommended
//must be done while No Labels is specified
gb<< show Control Panel(1);
so_bar = report(gb)[OutlineBox("Bar[weight]")];
cb_label = so_bar << xpath("//ComboBox/ComboBoxItem[text()='No Labels']/..");
cb_label << set(2);
gb << show Control panel(0);
*/
ただし、変数 :weight を追加すると問題が発生します。これは簡単ですが、デフォルトでは、GraphBuilder は別の棒グラフ要素を作成します。そして、いくつかの厄介な問題、いくつかの JMP 例外に遭遇します。
JMP が要素の追加と要素の削除だけでなく、要素ネットの Change To() メッセージを許可するウィッシュ リスト項目を追加します。
判明したら、投稿に追加します。
Re: 要素上のグラフ ビルダー JSL コマンド@tom_abramov
ある考えが頭に浮かびました。これを回避する方法が 1 つあります。これは、さまざまな理由で私が何度も使用した解決策です。私がお勧めするのは、参照している要素を追加する必要があるときに、グラフ全体を削除して、その場所で再作成するだけになるようにコードを記述することです。JMP がリフレッシュを処理する方法では、グラフが削除されたときに変更が表示されない可能性があります。おそらく、グラフが変化したことが分かるだけでしょう。
以下のコードは私のアイデアを示しています。
names default to here(1);
Open( "$SAMPLE_DATA/Big Class.jmp" );
new window("Test", vlb=vlistbox());
vlb<< append(gb = Graph Builder(
Size( 465, 278 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( X( :age ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Line( X, Y, Legend( 1 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y, Legend( 2 ) ) )
));
wait(5);
gb << delete;
vlb << append(gb = Graph Builder(
Size( 465, 278 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( X( :age ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Line( X, Y, Legend( 1 ) ) ),
Elements(
Position( 1, 2 ),
Bar( X, Y, Legend( 2 ), Label( "Label by Value" ) )
)
));Re: 要素上のグラフ ビルダー JSL コマンド私にとって悪い...
ありがとう、ジム。
Re: 要素上のグラフ ビルダー JSL コマンドそれはできないと思います。実行できる必要があるのは、出力の FrameBox() に、バー セグメントやライン セグメントなどのセグメントを渡すことです。
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
obj = Graph Builder( Variables( X( :age ), Y( :weight ) ), Elements( Bar( X, Y ) ) );
frame = Report( obj )[FrameBox( 1 )];
seg = (frame << Find Seg( "Bar Seg" ));
seg << Get Width Proportion();
seg << Set Fill Color( "Green" );
グラフを右クリックし、ラベル セグメントがない場合は、[カスタマイズ] 選択でセグメントを対話的に変更できます。
