グラフに線や矢印を描く際の問題JSLでグラフに線と矢印を描く方法を探るために、いくつか実験をしています。スクリプトガイドには役立つ情報があまりなく、コミュニティにも以前投稿されたものがありませんでした。以下にJSLスクリプトとデータテーブルをアップロードしました。
データテーブルでは、単位円の座標を5度間隔で計算しました。これをグラフビルダーでプロットしました。

まず、原点から各点への矢印を描くスクリプトを作成したいと考えています。現在使用しているスクリプトは以下のとおりです。実行してもエラーは発生しませんが、矢印が描画されません。FORループを、こちらに示すようにGraph Builderブロック内とブロック外の両方で試してみましたが、どちらもうまくいきません。
Names Default To Here (1);
dt = "Circle Arrow Data";
Graph Builder(
Size( 540, 540 ),
Graph Spacing( 10 ),
Spacing Borders( 1 ),
Variables( X( :x coord ), Y( :y coord ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
For( i=0, i<360, i+=5,
Arrow( {0,:x coord[i]}, {0, :y coord[i]})
)
);
最終的な目標は、行が選択されている場合にのみ矢印が表示されるようにすることですが、もちろん、まずはこれを機能させる必要があります。これはグラフ上で風向を示すためのものですが、グラフへの描画方法を理解するための第一歩を踏み出しているところです。
ご指導いただければ幸いです。
自動化とスクリプトグラフに線や矢印を描く際の問題素晴らしいタイミングですね:)
JMP19の新機能:
ベクトルフィールドチャートは前回のスーパーボウルのパフォーマンスを説明するのに役立ちますか?

New Column( "x_0", Formula( 0 ));
New Column( "y_0", Formula( 0 ));
Graph Builder(
Variables( X( :x_0 ), X( :x coord, Position( 1 ) ), Y( :x_0 ), Y( :y coord, Position( 1 ) ) ),
Elements(
Line(
X( 1 ), X( 2 ),
Y( 1 ), Y( 2 ),
Ordering( "Within Row" ),
Connection( "Arrow" )
)
)
);
グラフに線や矢印を描く際の問題@hogiさん、スクリプトをありがとうございます。とてもうまく動作しています。
理解しようとしているのですが...いくつか質問があります。
1) Position パラメータは何をしますか?
2) X 引数と Y 引数の 1 と 2 はどこから来るのでしょうか?
3) 順序付け (「行内」) は何をしますか?
スクリプト ヘルプとスクリプト インデックスには、これらの関数に関する非常に不完全なドキュメントがあるようです。
改めて、ありがとう。
グラフに線や矢印を描く際の問題同意します。スクリプトのインデックスは、MathematicaやMatlabなどの他のプログラムや、PythonとC++の膨大なオンラインドキュメントほど良くありません。状況を改善するための活動がいくつかあります。 包括的なスクリプトのインデックス
一方で、実際にやってみることで学べることはたくさんあります。グラフビルダーを開いて、ドラッグ&ドロップ機能を使ってグラフを作成しましょう。ほんの数秒で完了し、プロットの最適化にも数秒かかります。その後、「スクリプトをデータテーブルに保存」して、実際に作成したものとコードで見つけたものを比較してみましょう。
- 行順序はJMP19の新機能です。XとYの座標セットを使用する場合に使用できます。
そして、これが今回の新しいデフォルトオプションです
[注意: オプションを有効にしてもグラフは変化しません]
- let's drag the coordinates into the plot, first x_0 and y_0
Variables( X( :x_0 ), Y( :y_0 ) ),
- then x_coord / y_coord
Variables( X( :x_0 ), X( :x coord, Position( 1 ) ), Y( :x_0 ), Y( :y coord, Position( 1 ) ) )
- now, we just have to activate the line plot. By default, it uses all available coordinated:
X(1) is x_0
X(2) is x_座標
Elements(
Line(
X( 1 ), X( 2 ),
Y( 1 ), Y( 2 ),
)
)
we can also deactivate variables via:
すると、コードは次のようになります。
Elements(
Line( X( 1 ), Y( 1 ),
複数の座標を結ぶ線と矢印によるプロット: JMP19 での大きな改善点。
複数の座標を結ぶ線と矢印でプロットします。JMP19の大きな改良点です!
矢印の代わりに、同じプロット内に3組の座標(点)をプロットしたいと想像してみてください。そうすると、グラフに3つの点のプロットを追加し、「その他の」座標を3回無効にする必要があります。確かに機能しますが、面倒です!

10 セットの座標をプロットしたいとしたらどうなるか想像してみてください。
論理的に次のステップは、新しい「行内」機能をポイント プロットにコピーすることです。
列を積み重ねることなく、複数の x と y のデータセットを「ペア」としてプロットします。
この機能がすぐに実装されることを心から願っています!
グラフに線や矢印を描く際の問題つまり、X関数とY関数の1番目と2番目の引数は、変数関数にリストされている順序と同じということですか?私の理解は正しいでしょうか?
では、Variables関数のPosition(1)は何をしてくれるのでしょうか?どうやら、:x座標とy:座標がx_0 y_0ではなく1になるようです。
すみません。ちょっとわかりにくいんです。
グラフに線や矢印を描く際の問題ああ…それで、position(1) を抜いてスクリプトを実行してみたら、こんな結果になりました…

変数を追加する方法によって、4つの別々のグラフが作成されます。Positionコマンドで、表示するグラフを選択します。
そうだと思いますよ…
もう少しいじってみます。いつか素晴らしいチュートリアル動画になると思います。
ご協力ありがとうございました
グラフに線や矢印を描く際の問題: )
約束どおり、スクリプトを「実際に実行しながら」学習するのは非常に簡単です。
それに加えて、この方法だと学習内容がよりよく定着する可能性が高くなります。:)
グラフに線や矢印を描く際の問題はい、同感です。でも、何が起こっているのか理解するのが難しい時もあります。
例えば、Position(1)をPosition(2)に置き換えて、グラフの別の象限が表示されると期待しましたが、何も変わりませんでした。つまり、Position(1)の1はブール値である可能性が高いです。
オンラインでも、スクリプトのインデックスでも、オンラインヘルプでも、これに関する情報が全く見つかりません。もしかしたら、私が間違った場所を探しているだけかもしれません。
いずれにせよ、改めて感謝します。
グラフに線や矢印を描く際の問題コードを書いてそれがどのように動作するかを確認する代わりに...
逆のアプローチを試してください:
グラフ ビルダーで複雑なプロットを作成した後、コードを調べて結論を導き出します。
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Variables(
X( :height ),
Y( :name ),
Y( :weight ),
Y( :height, Position( 2 ) ),
Y( :age ),
Overlay( :sex )
),
Elements( Position( 1, 1 ), Points( X, Y ) ),
Elements(
Position( 1, 2 ),
Points( X, Y( 1 ), Y( 2 ), Legend( 1 ) ),
Smoother( X, Y( 1 ), Y( 2 ), Legend( 2 ) )
),
Elements( Position( 1, 3 ), Points( X, Y ) )
);
項目が 2 つだけの場合は、 2 番目のエントリを追加しても、 second として2 番目のエントリを追加しても違いはありません。
3つ以上の項目がある場合、position(2) は意味を持ちます。デフォルトでは、3番目の項目は3番目として追加されます。別の処理を行いたい場合は、position(2) に追加できます。