基準線親愛なるコミュニティの皆様
複数の分布図に異なる基準線を追加するために使用できるスクリプトはありますか。 4000 個のヒストグラムがあり、それぞれに異なる基準値があります。
ご協力をよろしくお願いいたします。
ありがとうRe: 基準線早速のご返事ありがとうございます。
Re: 基準線すべてのプラットフォームの表示の背後にはツリー構造があり、JSL が特定のオブジェクトをポイントし、そのオブジェクトにメッセージを渡すことができます。出力表示内の灰色の三角形のいずれかに移動し、それを右クリックして [ツリー構造の表示] を選択すると、オブジェクトが表示されます。各オブジェクトへのオフセットを選択することでそれらを参照できます。の
rbiv<SPAN class="token punctuation">[</SPAN><SPAN class="token function">j</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN>
表示内の AxisBox() を指すオフセットです。このコーディングは非常に不可解です。次のコードを調べると、5 つのヒストグラム出力のそれぞれを調べて、それらの表示のそれぞれで最初の軸 box() を見つけて、メッセージを参照線の追加に渡していることがわかると思います。 。暗号表記と同じですが、名前によって変更対象のオブジェクトに分岐する形式です。
//Open datatable and make report
dt = Open( "$SAMPLE_DATA/Michelson.jmp" );
Biv = dt << Distribution(
Continuous Distribution( Column( :Velocity ) ),
By( :Trial# )
);
rbiv = Biv << Report();
// Here is created a list of all by-groups and a matrix with
//means of each group to be used as a refline.
//A custom list can be used instead using the same approach
Summarize(
groups = by( :Trial# ),
reflines = Mean( :Velocity )
);
n = N Items( groups );
//Add reference lines
For( j = 1, j <= n, j++,
//rbiv[j][1][1][1][1][1][1][1][1] <<
rbiv[j][AxisBox(1)]<<
add ref line( reflines[j], solid, "Red" )
);
Re: 基準線次のコード行は何を意味しますか?必要な [1] の数はどうすればわかりますか?私が尋ねる理由は、ref line 関数のプロパティの変数を使用して ref line を追加できるようにしたいからです。
rbiv<SPAN class="token punctuation">[</SPAN><SPAN class="token function">j</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">[</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN>
Re: 基準線<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />私も同様の問題を抱えています。 by ステートメントを使用して、異なる ID に対して 35 の異なるチャートをプロットする proc gplot があります。 各プロットで異なる水平基準線を指定する方法はありますか? また、その基準線の値を線の上か下に表示することも可能でしょうか?
ありがとう
基準線「Verlauf ETA A6」がオブジェクトの種類を表すのかわかりません。 これがグラフ ビルダー オブジェクトの名前である場合は機能するはずですが、データ テーブルの名前である場合は機能しません。 グラフビルダーウィンドウに変数を割り当てる方が簡単だと思います(上記のように)
それ以外にも、うまくいくはずです。 構文を使用して別のテーブルからreflineを取得するようにスクリプトを変更したところ、機能しました。
また、正しいテーブルが「現在のデータテーブル」であることを確認する必要があるかもしれないと思います。
Re: 基準線役に立ちましたが、まだエラーが発生します
2 つの異なるテーブルがあり、1 つはグラフに使用します。2 番目には日付 (レポート "Verlauf Eta A6") と参照行のラベル (データ テーブル "") があります。フォーマットはすでに変更しています。 jmp の長い日付番号:
for(i=1,i<=nrows(data Table ("Ereignisse")),i++, report("Verlauf ETA A6")[Axis Box(1)] << add ref line (column(data Table ("Ereignisse"),"Datum"),Solid, "Purple", column(data Table ("Ereignisse"),"Bezeichnung") ));
しかし、ログは次を返します(あまり役に立ちません)
In the following script, error marked by /*###*/ For( ::i = 1, ::i <= N Rows( Data Table( "Ereignisse" ) ), ::i++, Report( "Verlauf ETA A6" )[Axis Box( 1 )] << /*###*/ add ref line( Column( Data Table( "Ereignisse" ), "Datum" )[::i], Solid, "Purple", Column( Data Table( "Ereignisse" ), "Bezeichnung" )[::i] ) /*###*/ )
基準線奇妙な数字は、日付時刻値の JMP の内部表現です (実際には、忘れがちな基準日からの秒数です...)。
VLine() にはオプションのラベル引数がないようです。 ただし、for ループで Add ref line() を使用すると、グラフに垂直線を入力できます。 Summarize() を使用して、データ テーブルからラベルと日付のリストと行列を取得します。 以下のスクリプト例を参照してください。
// Make example table
dt=New Table( "Test",
Add Rows( 6 ),
New Column( "Group",Nominal, Character, Set Values(
{"Group A", "Group A", "Group A", "Group B", "Group B", "Group B"})),
New Column( "Data", Numeric,
Set Values( [1, 2, 3, 2, 3, 4] )),
New Column( "Date", Numeric,
Format( "d-m-y", 12 ),
Set Values([3166214400, 3166300800, 3166387200, 3166214400, 3166300800, 3166387200])),
New Column( "Label",Nominal,Character,
Set Values( {"A", "B", "C", "A", "B", "C"} )));
// Make list of dates and labels
Summarize(dlist=by(:Date),dlist=mean(:Date));
Summarize(llist=by(:Label));
// Make graph
gb=Graph Builder(
Variables( X( :Date ), Y( :Data ), Overlay( :Group ) ),
Elements( Points( X, Y, Legend( 1 ) ) ));
//Add vertical reflines based on dates in Column date
for(i=1,i<=nrows(dlist),i++,
report(gb)[Axis Box(1)] << add ref line (dlist[i],Solid, "Purple", llist[i] ));
これがお役に立てば幸いです。
Re: 基準線こんにちは、
同様の問題があり、グラフがあり、x軸には日付(dmyなど)があり、a軸にはいくつかの垂直参照線が必要です。 今日、私はvラインのスクリプトを使用しましたが、ラインは得られましたが、ラベルがありませんでした。
参照行とラベルの日付はデータ テーブル (列日付 (フォーマット dmy)、列ラベル) に保存されます。 しかし、手動のreflineでは、日付の代わりに33962554400のような数字が使用されます(これが日付であることはわかっています...)
Graph Builder( Size( 696, 688 ), Show Control Panel( 0 ), Variables( X( :BL, Size( 212 ) ), Y( :Name( "x" ) ), Group Y( :Name( "s_-x" ) ), Overlay( :Projektklasse_plus ) ), Elements( Points( X, Y, Legend( 6 ) ) ), SendToReport( Dispatch( {}, "BL-date", ScaleBox, {Format( "d.m.y", 10 ), Interval( "Day" ), Inc( 1 ), Add Ref Line( 3396254400, Solid, {255, 0, 0}, "Label ref line 1" ) , Rotated Labels( 1 )} ), Dispatch(.......
私のvlineスクリプトは次のようなものでした:
OPR[FrameBox(1)] << add graphics script (pen color("purple"); vline(column(data Table ("CHCharge$"),"CuI") << get values));
しかし、実際には、異なる日付のラベルが付いた異なる参照線が必要であり、参照線の日付を含むデータテーブルには、年間を通じてますます多くの日付が含まれています...
データテーブルの使用方法について、答えを明確にしていただけますか?
前もって感謝します。
Re: 基準線こんにちは、MSさん
ありがとう。 それは動作します。
さらなるパワーをあなたにRe: 基準線すべてのヒストグラムが同じウィンドウ内にあると仮定したサンプル スクリプトを次に示します。 ここでは個々の参照行は単にグループの平均値ですが、スクリプトはカスタム行列や値のリスト(テーブルから取得するなど)に簡単に適用できます。
//Open datatable and make report
dt = Open( "$SAMPLE_DATA/Michelson.jmp" );
Biv = dt << Distribution(
Continuous Distribution( Column( :Velocity ) ),
By( :Trial# )
);
rbiv = Biv << Report();
// Here is created a list of all by-groups and a matrix with
//means of each group to be used as a refline.
//A custom list can be used instead using the same approach
Summarize(
groups = by( :Trial# ),
reflines = Mean( :Velocity )
);
n = N Items( groups );
//Add reference lines
For( j = 1, j <= n, j++,
rbiv[j][1][1][1][1][1][1][1][1] <<
add ref line( reflines[j], solid, "Red" )
);