列スイッチャーとグラフビルダーこんにちは、
グループ化した多数の列があります。
グラフビルダーには X 軸の定数がありますが、Y 軸には列スイッチャー機能があり、上記の列グループからどのパラメーターを切り替えるかを選択できます。
まず、グループにどの列を含めるべきか、どの列を最初の列にするかを JSL に指示します。
colList = dttable << get column names( continuous );
col1 = colList[1];
これは私が得ているコードとエラーです、
Graph Builder(
Size( 570, 621 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :batch_no ), Y( :col1 ) /*###*/ ),
Elements( Points( X, Y, Legend( 8 ) ) ),
Column Switcher( :col1, {:colList} )
)
最初の列を取得して列スイッチャーを追加するには、Y 変数に何を書けばよいか教えていただけますか。
前もって感謝します
基本的なデータ分析とモデリングデータアクセス実験計画法ウィンドウズRe: カラムスイッチャーとグラフビルダーあなたが指定しているのは
:col1
コロンは、データテーブルに「col1」という列があることを JMP に伝えます (JMP ドキュメントのスコープを参照)。 Col1 は列ではなくメモリ変数です。コロンを削除すると、コードが機能するはずです。
Re: 列スイッチャーとグラフビルダーこんにちは、ジム。
ご協力いただきありがとうございます。
グラフは表示されましたが、列スイッチャーはまだ機能しません。
dtrelsplit << Newscript ("graph",
Graph Builder(
Size( 570, 621 ),<BR />
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables(
X( :batch_no ),
Y(col1),
),
Elements( Points( X, Y, Legend( 8 ) ) ),
Column Switcher(
col1, {colList}
),
),
Column Switcher cannot find specified column col1 in platform script</CODE></PRE>
<P>これは表示されるエラーです</P>
<BR />
</LINGO-BODY>
<LINGO-SUB id="lingo-sub-724513" slang="en-US" mode="CREATE">Re: 列スイッチャーとグラフビルダー</LINGO-SUB>
<LINGO-BODY id="lingo-body-724513" slang="en-US" mode="CREATE">
<P>これが私の修正点です</P>
<PRE><CODE class=" language-jsl">Graph Builder(
Size( 570, 621 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( <SPAN class="lia-emoticons-autosuggestions"><SPAN class="lia-emoticons-search-term">:batch_no</SPAN></SPAN> ), Y( as column(col1) ) ),
Elements( Points( X, Y, Legend( 8 ) ) ),
Column Switcher( col1, colList )
)
;
colListはリストなので、2番目の{}セットは必要ありません。
Re: 列スイッチャーとグラフビルダーありがとう
Re: 列スイッチャーとグラフビルダーJMPは厳しくなりましたか?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
colLst = { :Height, :Weight, :Age };
// doesn't work
dt << New Script( "test",
Graph Builder(
Variables( X( :Weight ), Y( :Height ) ),
Elements( Points( X, Y ) ),
Column Switcher( :Height, colLst )
)
);
// does work
dt << New Script( "test2",
Graph Builder(
Variables( X( :Weight ), Y( :Height ) ),
Elements( Points( X, Y ) ),
Column Switcher( :Height, { :Height, :Weight, :Age } )
)
);
// does work
Eval( Eval Expr( dt << New Script( "test3",
Graph Builder(
Variables( X( :Weight ), Y( :Height ) ),
Elements( Points( X, Y ) ),
Column Switcher( :Height, Expr( colLst ) )
)
)));
Re: 列スイッチャーとグラフビルダーどの 2 つのバージョンの JMP を参照しているのですか?
Re: 列スイッチャーとグラフビルダーJMP19。
編集: colList変数がJMP18以前で動作していたかどうかは、苦労して見分けることができなかったでしょう。リストを渡して後で使用する変数の使用に関する参考文献をいくつか見つけたので、驚きました。
Re: 列スイッチャーとグラフビルダー@レッセル ,
新しく実行された、つまりクリーンな JMP 18 のインスタンスを使用したところ、JMP 18 で動作していたと示唆されたケースのサンプル スクリプトが私の場合は動作しませんでした。
この問題は、JMPがサンプルスクリプトに提供している分離機能によって発生します。最初の行に
Names Default To Here( 1 );
この関数は、作成された変数をスクリプトの実行ごとに一意に分離します。そのため、変数 collist はスクリプトの実行時にのみ認識されます。データテーブルに保存された埋め込みスクリプトが実行されると、新しいスクリプト環境が作成され、変数 collist は定義されません。
2つのバージョンのコードが正しく実行され、実際に機能する理由は、最初のケースでは値がスクリプトにハードコードされており、2番目のケースでは
Expr( colLst )
コードが実行される前に変数 colist をハードコードされた値に展開し、データ テーブルに埋め込まれたスクリプトをスクリプトのハードコードされたバージョンにします。
したがって、あなたの場合、JMP 19はバージョン18から変更されていません。
Re: 列スイッチャーとグラフビルダーああ、わかりました。これが「名前空間」の問題ということでしょうか?
また、JMP18でうまくいったとは主張していません。ここで提案されていて、とても明確に見えた解決策がなぜうまくいかなかったのか疑問に思っていました。そして、JSLの進化に関係しているのではないかと誤って推測しました。しかし、そうではありません。
ご説明ありがとうございます!
Re: 列スイッチャーとグラフビルダー素晴らしい会話でした:)
JSL のナットとボルトに拡大鏡を当てて...
変数()と列スイッチャー()の違いについて疑問に思ったのですが
Variables( ... Y( as column(col1) ) ),
Column Switcher( col1, colList )
これも同様に機能します:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
cols = dt << get column names( continuous );
col1= cols[1];
gb = dt << Graph Builder(
Size( 437, 413 ),
Graph Spacing( 4 ),
Variables( X(col1 ), ),
Elements( bar( X ), ),
Column Switcher( col1, cols )
);
同様に次のものも:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
cols = dt << get column names( continuous, "String" );
col1= cols[1];
gb = dt << Graph Builder(
Size( 437, 413 ),
Graph Spacing( 4 ),
Variables( X(Column(col1) ), ),
Elements( bar( X ), ),
Column Switcher( col1, cols )
);
機能しないもの:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
cols = dt << get column names( continuous, "String" );
col1= cols[1];
gb = dt << Graph Builder(
Size( 437, 413 ),
Graph Spacing( 4 ),
Variables( X(col1 ), ),
Elements( bar( X ), ),
Column Switcher( col1, cols )
);
つまり、 列スイッチャー()は文字列でも問題ありません。
変数() には名前または列が必要です( As Column()またはカラム()で作成)
Re: 列スイッチャーとグラフビルダー@hogiさんの結果は、環境や名前空間の問題ではなく、何か違うものだということを意味しませんか?
Re: 列スイッチャーとグラフビルダーいいえ、 @txnelsonが説明したように、テーブル スクリプトの問題は名前空間の問題です。
文字列と名前と列の違いについても学ぶことができます。