問題を選択グラフを作成し、その一部を選択すると、Excel シート全体が強調表示されます。 デモで覚えているのは、セグメントを選択して、そのセグメントに直接関連するデータのみを強調表示できるようにする必要があるということです。 ここで私は何を間違っているのでしょうか?
また、JMP で同じ線上の複数の点からピーク データを見つけてグラフに表示する方法があるかどうかも知りたいです。
お時間をいただきありがとうございました
Re: 問題を選択してください少し異なる方法を試してみて、ドットのサイズと外観を調整するスクリプトの部分を削除し、今のところ環境設定でそれらの設定を変更するだけで済みました。その前に使用していたスクリプトでは、実際には追加のグラフ (最初のもの以外) を指しているので、これを思いつきました。 ただし、最初の行の 2 番目のグラフを完全に独自にスムーズにプロットするという、かなり奇妙なことを行っています。
dt = Open ();
col_list = dt << get column names(string);
remove from(col_list, 1); // Remove time[sec] from list
cols_to_plot = {};
offset_list = {};
offset_cols = {};
// Define the graph builder commands in an expression for use by the OK button
graph_expr = expr(
for (i = 1, i <= nitems(cols_to_plot), i++,
new_name = cols_to_plot[i] || "-Chemical Cal";
insertinto(offset_cols, new_name);
dt << new column(new_name, Numeric, "Continuous", Format( "Best", 12 ),
Formula( as column(dt, cols_to_plot[i]) * offset_list[i] ) );
);
// Now for the graph - build a text string and then execute it
gb_text = "\[gb = graph builder(
show control panel(0),
variables(
X( :Name( "Time[sec]" ) ),]\";
elements_txt = " ),
Elements( Line( X, ";
For( i = 1, i <= N Items( cols_to_plot ), i++,
If( i == 1,
// then
gb_text = gb_text || Eval Insert( "\!N\[ Y( :Name( "^offset_cols[i]^" ) ), ]\" )
,
// else
gb_text = gb_text || Eval Insert( "\!N\[ Y( :Name( "^offset_cols[i]^" ), Position( 1 ) ),]\" )
);
elements_txt = elements_txt || Eval Insert( "Y ( ^i^ ), " );
);
elements_txt = elements_txt ||
"Legend( 7 ) ),
Points( X, ";
For( i = 1, i <= N Items( cols_to_plot ), i++,
If( i == 1,
// then
gb_text = gb_text || Eval Insert( "\!N\[ Y( :Name( "^offset_cols[i]^" ) ), ]\" )
,
// else
gb_text = gb_text || Eval Insert( "\!N\[ Y( :Name( "^offset_cols[i]^" ), Position( 1 ) ),]\" )
);
elements_txt = elements_txt || Eval Insert( "Y ( ^i^ ), " );
);
elements_txt = elements_txt ||
"Legend(8))
)";
gb_text = gb_text || elements_txt || "); ";
Eval( Parse( gb_text ) );
);
nw = new window("Graph Chemicals",
panel box("Select channels to graph",
lineup box(ncol(2),
text box("Column"), text box("Chemical Cal"),
cb1 = checkbox("Ch1"), ch1_neb = number edit box(),
cb2 = checkbox("Ch2"), ch2_neb = number edit box(),
cb3 = checkbox("Ch3"), ch3_neb = number edit box(),
cb4 = checkbox("Ch4"), ch4_neb = number edit box(),
cb5 = checkbox("Ch5"), ch5_neb = number edit box(),
cb6 = checkbox("Ch6"), ch6_neb = number edit box(),
cb7 = checkbox("Ch7"), ch7_neb = number edit box(),
cb8 = checkbox("Ch8"), ch8_neb = number edit box(),
cb9 = checkbox("Ch9"), ch9_neb = number edit box(),
),
),
panelbox("Actions",
hlistbox(
okb = button box("OK",
if (cb1 << get(1),
insertinto(cols_to_plot, col_list[8]);
offset_value = ch1_neb << get;
insertinto(offset_list, offset_value);
);
if (cb2 << get(1),
insertinto(cols_to_plot, col_list[9]);
offset_value = ch2_neb << get;
insertinto(offset_list, offset_value);
);
if (cb3 << get(1),
insertinto(cols_to_plot, col_list[10]);
offset_value = ch3_neb << get;
insertinto(offset_list, offset_value);
);
if (cb4 << get(1),
insertinto(cols_to_plot, col_list[11]);
offset_value = ch4_neb << get;
insertinto(offset_list, offset_value);
);
if (cb5 << get(1),
insertinto(cols_to_plot, col_list[12]);
offset_value = ch5_neb << get;
insertinto(offset_list, offset_value);
);
if (cb6 << get(1),
insertinto(cols_to_plot, col_list[13]);
offset_value = ch6_neb << get;
insertinto(offset_list, offset_value);
);
if (cb7 << get(1),
insertinto(cols_to_plot, col_list[14]);
offset_value = ch7_neb << get;
insertinto(offset_list, offset_value);
);
if (cb8 << get(1),
insertinto(cols_to_plot, col_list[15]);
offset_value = ch8_neb << get;
insertinto(offset_list, offset_value);
);
graph_expr;
nw << close window;
),
canb = button box("Cancel", nw << close window;
),
)
),
);
// Pre-check checkboxes if column exists
for (i = 1, i <= nitems(col_list), i++,
if (col_list[i] == "Ch1", cb1 << set(1, 1),
col_list[i] == "Ch2", cb2 << set(1, 1),
col_list[i] == "Ch3", cb3 << set(1, 1),
col_list[i] == "Ch4", cb4 << set(1, 1),
col_list[i] == "Ch5", cb5 << set(1, 1),
col_list[i] == "Ch6", cb6 << set(1, 1),
col_list[i] == "Ch7", cb7 << set(1, 1),
col_list[i] == "Ch8", cb8 << set(1, 1),
col_list[i] == "Ch9", cb9 << set(1, 1),
);
);
このスクリプトを保存し、次に希望する見た目のスクリプト (一番上のグラフのみ) を保存しましたが、誤ったグラフを取り除くためにどの部分を編集する必要があるかわかりません...
//This is what it graphs
Graph Builder(
Show Control Panel( 0 ),
Variables(
X( :Name( "Time[sec]" ) ),
Y( :Name( "CH2-Chemical Cal" ) ),
Y( :Name( "CH4-Chemical Cal" ), Position( 1 ) ),
Y( :Name( "CH4-Chemical Cal" ), Position( 1 ) ),
Y( :Name( "CH2-Chemical Cal" ) )
),
Elements(
Position( 1, 1 ),
Line( X, Y( 1 ), Y( 2 ), Legend( 7 ) ),
Points( X, Y( 1 ), Y( 2 ), Legend( 8 ) )
),
Elements(
Position( 1, 2 ),
Points( X, Y, Legend( 11 ) ),
Smoother( X, Y, Legend( 12 ) )
),
SendToReport(
Dispatch(
{},
"CH2-Chemical Cal",
ScaleBox( 2 ),
{Min( -125.45871559633 ), Max( 1724.54128440367 ), Inc( 100 ),
Minor Ticks( 1 )}
)
)
);
// This is what I want it to graph
Graph Builder(
Show Control Panel( 0 ),
Variables(
X( :Name( "Time[sec]" ) ),
Y( :Name( "CH2-Chemical Cal" ) ),
Y( :Name( "CH4-Chemical Cal" ), Position( 1 ) ),
Y( :Name( "CH4-Chemical Cal" ), Position( 1 ) )
),
Elements(
Line( X, Y( 1 ), Y( 2 ), Legend( 7 ) ),
Points( X, Y( 1 ), Y( 2 ), Legend( 8 ) )
)
);Re: 問題を選択してください正直なところ、私はそれに多くの仕事をしてくれる人を探しているわけではありません。もしそうなった場合は、それをコミッションと呼ばなければなりません。誰かが私が試せることやおそらく指摘できることについていくつかの提案を持っていることを願っています私は正しい方向にいます、私はいくつかのフローティと一緒に深いところにいます、そして彼らは空気を失っていますXD
Re: 問題を選択してください申し訳ありませんが、デバッグに時間を費やして、スクリプトと同じくらい大きくなるコードに新しいコードを実装する時間がありません。 コミュニティ内であなたを助けてくれる人が見つかるよう幸運を祈っています。Re: 問題を選択してください素晴らしいと思いますが、問題はここにあります。どうすればよいかわかりません。XD。 スクリプトは私よりもはるかに高度で、私が必要なことを実行するためにそれを形に加工しようとしているだけで、そのまま動作します(つまり、私が必要なことを実行するのではなく、私がスクリプトを機能させることができます)。いわば、フィット感と磨きが欲しいのです。 私はできる限り文献を調べて、謎を解こうとしていますが、専門用語がまだわかりません。 現在、チャネル数はポップアップ ボックス (添え字内) で選択されていることがわかっていますが、その行数のみを変更するために選択した行数を凡例に伝える方法はありますか? おそらくこれは、複数の行/チャネルなどの問題がないため、スクリプトの残りの部分にある変数関数が行っていることです。 この部分を追加しようとしている唯一の理由は、折れ線グラフでは相関データを追跡するためのセグメントを選択できないためです。 線の頂点を見つけられるようにする必要があります。 また、JMP にそのデータをグラフに入れてもらいたいと思っていますが、スクリプトにデータ内のさまざまな特定のポイントを選択するだけでなく、行に複数の文字列がある場合、最初の文字列や最上位の文字列だけでなく、特定の文字列が必要です。 このままでは、より重要なデータに 1 つの行を使用して、一度に 1 つずつ実行できます。これは大きな進歩です。さらに、複数のスクリプトを保存して、必要な行数ごとに 1 つずつ作成することもできます。計画を立てたいのですが、もっと良い方法があると確信していますが、それを実現する方法がわかりません...まだ ^.^
Re: 問題を選択してください基本的に、JSL は新しい JSL を作成するだけです。 そして、SendToReport セクションに関しては、3 つの offset_col を必要とするようにコードを固定しています。 これはすでにご存知のことですが、私が言いたいのは、最終的に実行する JSL コードを生成しているということです。 したがって、コードを分割して、offset_cols リストに要素がいくつあるかを確認し、それに基づいて、その要素数の JSL コードのみを生成する必要があります。Re: 問題を選択してくださいdt = Open ();
col_list = dt << get column names(string);
remove from(col_list, 1); // Remove time[sec] from list
cols_to_plot = {};
offset_list = {};
offset_cols = {};
// Define the graph builder commands in an expression for use by the OK button
graph_expr = expr(
for (i = 1, i <= nitems(cols_to_plot), i++,
new_name = cols_to_plot[i] || "-Chemical Cal";
insertinto(offset_cols, new_name);
dt << new column(new_name, Numeric, "Continuous", Format( "Best", 12 ),
Formula( as column(dt, cols_to_plot[i]) * offset_list[i] ) );
);
// Now for the graph - build a text string and then execute it
gb_text = "\[gb = graph builder(
show control panel(0),
variables(
X( :Name( "Time[sec]" ) ),]\";
elements_txt = " ),
Elements( Line( X, ";
For( i = 1, i <= N Items( cols_to_plot ), i++,
If( i == 1,
// then
gb_text = gb_text || Eval Insert( "\!N\[ Y( :Name( "^offset_cols[i]^" ) ), ]\" )
,
// else
gb_text = gb_text || Eval Insert( "\!N\[ Y( :Name( "^offset_cols[i]^" ), Position( 1 ) ),]\" )
);
elements_txt = elements_txt || Eval Insert( "Y ( ^i^ ), " );
);
// add in the marker and transparency code
elements_txt = elements_txt ||
"Legend( 7 ) ), Points( X, Y, Legend(8))),
SendToReport(
Dispatch(
{},
\!"400\!",
ScaleBox,
{Legend Model(
8,
Properties( 0, {Marker Size( 0 ), Transparency( 0 )}, Item ID( \!""
|| offset_cols[1] || "\!", 1 ), Item ID( \!""
|| offset_cols[2] || "\!", 1 ), Item ID( \!""
|| offset_cols[3] || "\!", 1 ) )
)}
)
)";
gb_text = gb_text || elements_txt || "); ";
Eval( Parse( gb_text ) );
);
nw = new window("Graph Chemicals",
panel box("Select channels to graph",
lineup box(ncol(2),
text box("Column"), text box("Chemical Cal"),
cb1 = checkbox("Ch1"), ch1_neb = number edit box(),
cb2 = checkbox("Ch2"), ch2_neb = number edit box(),
cb3 = checkbox("Ch3"), ch3_neb = number edit box(),
cb4 = checkbox("Ch4"), ch4_neb = number edit box(),
cb5 = checkbox("Ch5"), ch5_neb = number edit box(),
cb6 = checkbox("Ch6"), ch6_neb = number edit box(),
cb7 = checkbox("Ch7"), ch7_neb = number edit box(),
cb8 = checkbox("Ch8"), ch8_neb = number edit box(),
cb9 = checkbox("Ch9"), ch9_neb = number edit box(),
),
),
panelbox("Actions",
hlistbox(
okb = button box("OK",
if (cb1 << get(1),
insertinto(cols_to_plot, col_list[5]);
offset_value = ch1_neb << get;
insertinto(offset_list, offset_value);
);
if (cb2 << get(1),
insertinto(cols_to_plot, col_list[6]);
offset_value = ch2_neb << get;
insertinto(offset_list, offset_value);
);
if (cb3 << get(1),
insertinto(cols_to_plot, col_list[7]);
offset_value = ch3_neb << get;
insertinto(offset_list, offset_value);
);
if (cb4 << get(1),
insertinto(cols_to_plot, col_list[8]);
offset_value = ch4_neb << get;
insertinto(offset_list, offset_value);
);
if (cb5 << get(1),
insertinto(cols_to_plot, col_list[9]);
offset_value = ch5_neb << get;
insertinto(offset_list, offset_value);
);
if (cb6 << get(1),
insertinto(cols_to_plot, col_list[10]);
offset_value = ch6_neb << get;
insertinto(offset_list, offset_value);
);
if (cb7 << get(1),
insertinto(cols_to_plot, col_list[11]);
offset_value = ch7_neb << get;
insertinto(offset_list, offset_value);
);
if (cb8 << get(1),
insertinto(cols_to_plot, col_list[12]);
offset_value = ch8_neb << get;
insertinto(offset_list, offset_value);
);
if (cb9 << get(1),
insertinto(cols_to_plot, col_list[13]);
offset_value = ch9_neb << get;
insertinto(offset_list, offset_value);
);
graph_expr;
nw << close window;
),
canb = button box("Cancel", nw << close window;
),
)
),
);
// Pre-check checkboxes if column exists
for (i = 1, i <= nitems(col_list), i++,
if (col_list[i] == "Ch1", cb1 << set(1, 1),
col_list[i] == "Ch2", cb2 << set(1, 1),
col_list[i] == "Ch3", cb3 << set(1, 1),
col_list[i] == "Ch4", cb4 << set(1, 1),
col_list[i] == "Ch5", cb5 << set(1, 1),
col_list[i] == "Ch6", cb6 << set(1, 1),
col_list[i] == "Ch7", cb7 << set(1, 1),
col_list[i] == "Ch8", cb8 << set(1, 1),
col_list[i] == "Ch9", cb9 << set(1, 1),
);
);したがって、これにより 3 つの異なるチャネルを実行できるようになりますが、残念ながら、3 つ未満のチャネルを実行することはできません。 それ以上の数を実行することはできますが、追加のチャネルにはドット パスが含まれないため、意図したようにライン上の個別のポイントを選択できません。 使用するチャンネルが 3 つ未満の場合、このアラートが表示されます

Re: 問題を選択してくださいおっと、問題が見つかりました。変数から静的に変更したため、最初のプロットでのみ機能します。また、複数のグラフを同時にプロットする必要がある場合があります (これが変数の理由です)。可能な列ごとに複製してみました。動作しますが、これは含めたプロットの数を使用している場合に限り、状況に応じて使用するプロットの数を減らしたり増やしたりする場合があります。 この調整で変数を機能させることができないようです。おそらく、追加の行に if then 引数を指定して、プロットしていない場合にスクリプトと議論しないようにすることができますか?
Re: 問題を選択してくださいハッ!それは機能しますが、探している範囲外のチャンネルを選択するとエラーが発生しますが、私の知っている範囲ではそこまではしないので、まったく問題ありません。
どうもありがとうございます!
Re: 問題を選択してくださいコードを少し作り直しました。
1. マーカーのサイズと透明度を変更するコードを追加しました
2. 次の問題に気づいていないかもしれませんが、作成している新しい列では、数式に dt と i の値が含まれていました。これらは変更される可能性のあるメモリ変数です。(つまり、テーブルを保存し、今後 JMP セッションを開始し、データ テーブルを開くと、変数 dt と i が使用できなくなるため、列によってエラーが発生します)。そこで、数式に固定値が含まれるようにコードを変更しました。
コードは次のとおりです。コードをテストするためにモックアップ データ テーブルを作成したので、問題が 1 つか 2 つ残っている可能性があります。
dt = Open();
col_list = dt << get column names( string );
Remove From( col_list, 1 ); // Remove time[sec] from list
cols_to_plot = {};
offset_list = {};
offset_cols = {};
// Define the graph builder commands in an expression for use by the OK button
graph_expr = Expr(
For( i = 1, i <= N Items( cols_to_plot ), i++,
new_name = cols_to_plot[i] || "-Chemical Cal";
// If used before, delete the column and then recreate it
If( Try( Column( dt, new_name ) << get name, "" ) != "",
dt << delete columns( new_name )
);
Insert Into( offset_cols, new_name );
// The variable i and the column name need to be changed to their
// static value for the column formulas to be correct
Eval(
Substitute(
Expr(
dt << New Column( new_name,
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( __cols_to_plot__ * __offset_list__ )
)
),
Expr( __cols_to_plot__ ), Parse( ":" || cols_to_plot[i] ),
Expr( __offset_list__ ), offset_list[i]
)
);
);
// Now for the graph - build a text string and then execute it
gb_text = "\[gb = graph builder(
show control panel(0),
variables(
X( :Name( "Time[sec]" ) ),]\";
elements_txt = " ),
Elements( Line( X, ";
For( i = 1, i <= N Items( cols_to_plot ), i++,
If( i == 1,
// then
gb_text = gb_text || Eval Insert( "\!N\[ Y( :Name( "^offset_cols[i]^" ) ), ]\" )
,
// else
gb_text = gb_text || Eval Insert( "\!N\[ Y( :Name( "^offset_cols[i]^" ), Position( 1 ) ),]\" )
);
elements_txt = elements_txt || Eval Insert( "Y ( ^i^ ), " );
);
// add in the marker and transparency code
elements_txt = elements_txt ||
"Legend( 7 ) ), Points( X, Y, Legend(8))),
SendToReport(
Dispatch(
{},
\!"400\!",
ScaleBox,
{Legend Model(
8,
Properties( 0, {Marker Size( 0 ), Transparency( 0 )}, Item ID( \!""
|| offset_cols[1] || "\!", 1 ) )
)}
)
)";
gb_text = gb_text || elements_txt || "); ";
Eval( Parse( gb_text ) );
);
nw = New Window( "Graph Chemicals",
Panel Box( "Select channels to graph",
Lineup Box( N Col( 2 ),
Text Box( "Column" ),
Text Box( "Chemical Cal" ),
cb1 = Check Box( "Ch1" ),
ch1_neb = Number Edit Box(),
cb2 = Check Box( "Ch2" ),
ch2_neb = Number Edit Box(),
cb3 = Check Box( "Ch3" ),
ch3_neb = Number Edit Box(),
cb4 = Check Box( "Ch4" ),
ch4_neb = Number Edit Box(),
cb5 = Check Box( "Ch5" ),
ch5_neb = Number Edit Box(),
cb6 = Check Box( "Ch6" ),
ch6_neb = Number Edit Box(),
cb7 = Check Box( "Ch7" ),
ch7_neb = Number Edit Box(),
cb8 = Check Box( "Ch8" ),
ch8_neb = Number Edit Box(),
cb9 = Check Box( "Ch9" ),
ch9_neb = Number Edit Box(),
),
),
Panel Box( "Actions",
H List Box(
okb = Button Box( "OK",
If( cb1 << get( 1 ),
Insert Into( cols_to_plot, col_list[8] );
offset_value = ch1_neb << get;
Insert Into( offset_list, offset_value );
);
If( cb2 << get( 1 ),
Insert Into( cols_to_plot, col_list[9] );
offset_value = ch2_neb << get;
Insert Into( offset_list, offset_value );
);
If( cb3 << get( 1 ),
Insert Into( cols_to_plot, col_list[10] );
offset_value = ch3_neb << get;
Insert Into( offset_list, offset_value );
);
If( cb4 << get( 1 ),
Insert Into( cols_to_plot, col_list[11] );
offset_value = ch4_neb << get;
Insert Into( offset_list, offset_value );
);
If( cb5 << get( 1 ),
Insert Into( cols_to_plot, col_list[12] );
offset_value = ch5_neb << get;
Insert Into( offset_list, offset_value );
);
If( cb6 << get( 1 ),
Insert Into( cols_to_plot, col_list[13] );
offset_value = ch6_neb << get;
Insert Into( offset_list, offset_value );
);
If( cb7 << get( 1 ),
Insert Into( cols_to_plot, col_list[14] );
offset_value = ch7_neb << get;
Insert Into( offset_list, offset_value );
);
If( cb8 << get( 1 ),
Insert Into( cols_to_plot, col_list[15] );
offset_value = ch8_neb << get;
Insert Into( offset_list, offset_value );
);
graph_expr;
nw << close window;
),
canb = Button Box( "Cancel", nw << close window ),
)
),
);
// Pre-check checkboxes if column exists
For( i = 1, i <= N Items( col_list ), i++,
If(
col_list[i] == "Ch1", cb1 << set( 1, 1 ),
col_list[i] == "Ch2", cb2 << set( 1, 1 ),
col_list[i] == "Ch3", cb3 << set( 1, 1 ),
col_list[i] == "Ch4", cb4 << set( 1, 1 ),
col_list[i] == "Ch5", cb5 << set( 1, 1 ),
col_list[i] == "Ch6", cb6 << set( 1, 1 ),
col_list[i] == "Ch7", cb7 << set( 1, 1 ),
col_list[i] == "Ch8", cb8 << set( 1, 1 ),
col_list[i] == "Ch9", cb9 << set( 1, 1 ),
)
);
Graph Builder(
Show Control Panel( 0 ),
Variables( X( :Name( "Time[sec]" ) ), Y( :Name( "CH2-Offset" ) ) ),
Elements( Line( X, Y, Legend( 7 ) ), Points( X, Y, Legend( 8 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model( 8, Properties( 0, {Marker Size( 0 )}, Item ID( "CH2-Offset", 1 ) ) )}
)
)
);
Graph Builder(
Show Control Panel( 0 ),
Variables( X( :Name( "Time[sec]" ) ), Y( :Name( "CH2-Offset" ) ) ),
Elements( Line( X, Y, Legend( 7 ) ), Points( X, Y, Legend( 8 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
8,
Properties( 0, {Marker Size( 0 ), Transparency( 0 )}, Item ID( "^offset_cols[i]^", 1 ) )
)}
)
)
);Re: 問題を選択してくださいテキストはすべて、スポイラー ウィンドウの下にある前の投稿にあります。見た目が良くないので画像を使用しました。JSL ボタンが何に使用されるのか分からなかったので、コピーして貼り付けました。
dt = Open ();
col_list = dt << get column names(string);
remove from(col_list, 1); // Remove time[sec] from list
cols_to_plot = {};
offset_list = {};
offset_cols = {};
// Define the graph builder commands in an expression for use by the OK button
graph_expr = expr(
for (i = 1, i <= nitems(cols_to_plot), i++,
new_name = cols_to_plot[i] || "-Chemical Cal";
insertinto(offset_cols, new_name);
dt << new column(new_name, Numeric, "Continuous", Format( "Best", 12 ),
Formula( as column(dt, cols_to_plot[i]) * offset_list[i] ) );
);
// Now for the graph - build a text string and then execute it
gb_text =
"\[gb = graph builder(
show control panel(0),
variables(
X( :Name( "Time[sec]" ) ),]\";
elements_txt = " ),
Elements( Line( X, ";
for (i = 1, i <= nitems(cols_to_plot), i++,
if (i == 1,
// then
gb_text = gb_text || evalinsert("\!N\[ Y( :Name( "^offset_cols[i]^" ) ), ]\");
,
// else
gb_text = gb_text || evalinsert("\!N\[ Y( :Name( "^offset_cols[i]^" ), Position( 1 ) ),]\");
);
elements_txt = elements_txt || evalinsert("Y ( ^i^ ), ");
);
elements_txt = elements_txt || "Legend( 7 ) ), Points( X, Y, Legend(8))
,";
gb_text = gb_text || elements_txt || ") )";
eval(parse(gb_text));
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
8,
Properties(
0,
{Marker Size( 0 ), Transparency( 0 )},
Item ID( "^offset_cols[i]^", 1 )
)
)}
)
)
);
nw = new window("Graph Chemicals",
panel box("Select channels to graph",
lineup box(ncol(2),
text box("Column"), text box("Chemical Cal"),
cb1 = checkbox("Ch1"), ch1_neb = number edit box(),
cb2 = checkbox("Ch2"), ch2_neb = number edit box(),
cb3 = checkbox("Ch3"), ch3_neb = number edit box(),
cb4 = checkbox("Ch4"), ch4_neb = number edit box(),
cb5 = checkbox("Ch5"), ch5_neb = number edit box(),
cb6 = checkbox("Ch6"), ch6_neb = number edit box(),
cb7 = checkbox("Ch7"), ch7_neb = number edit box(),
cb8 = checkbox("Ch8"), ch8_neb = number edit box(),
cb9 = checkbox("Ch9"), ch9_neb = number edit box(),
),
),
panelbox("Actions",
hlistbox(
okb = button box("OK",
if (cb1 << get(1),
insertinto(cols_to_plot, col_list[8]);
offset_value = ch1_neb << get;
insertinto(offset_list, offset_value);
);
if (cb2 << get(1),
insertinto(cols_to_plot, col_list[9]);
offset_value = ch2_neb << get;
insertinto(offset_list, offset_value);
);
if (cb3 << get(1),
insertinto(cols_to_plot, col_list[10]);
offset_value = ch3_neb << get;
insertinto(offset_list, offset_value);
);
if (cb4 << get(1),
insertinto(cols_to_plot, col_list[11]);
offset_value = ch4_neb << get;
insertinto(offset_list, offset_value);
);
if (cb5 << get(1),
insertinto(cols_to_plot, col_list[12]);
offset_value = ch5_neb << get;
insertinto(offset_list, offset_value);
);
if (cb6 << get(1),
insertinto(cols_to_plot, col_list[13]);
offset_value = ch6_neb << get;
insertinto(offset_list, offset_value);
);
if (cb7 << get(1),
insertinto(cols_to_plot, col_list[14]);
offset_value = ch7_neb << get;
insertinto(offset_list, offset_value);
);
if (cb8 << get(1),
insertinto(cols_to_plot, col_list[15]);
offset_value = ch8_neb << get;
insertinto(offset_list, offset_value);
);
graph_expr;
nw << close window;
),
canb = button box("Cancel", nw << close window;
),
)
),
);
// Pre-check checkboxes if column exists
for (i = 1, i <= nitems(col_list), i++,
if (col_list[i] == "Ch1", cb1 << set(1, 1),
col_list[i] == "Ch2", cb2 << set(1, 1),
col_list[i] == "Ch3", cb3 << set(1, 1),
col_list[i] == "Ch4", cb4 << set(1, 1),
col_list[i] == "Ch5", cb5 << set(1, 1),
col_list[i] == "Ch6", cb6 << set(1, 1),
col_list[i] == "Ch7", cb7 << set(1, 1),
col_list[i] == "Ch8", cb8 << set(1, 1),
col_list[i] == "Ch9", cb9 << set(1, 1),
);
);Graph Builder(
Show Control Panel( 0 ),
Variables( X( :Name( "Time[sec]" ) ), Y( :Name( "CH2-Offset" ) ) ),
Elements( Line( X, Y, Legend( 7 ) ), Points( X, Y, Legend( 8 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
8,
Properties( 0, {Marker Size( 0 )}, Item ID( "CH2-Offset", 1 ) )
)}
)
)
);
Graph Builder(
Show Control Panel( 0 ),
Variables( X( :Name( "Time[sec]" ) ), Y( :Name( "CH2-Offset" ) ) ),
Elements( Line( X, Y, Legend( 7 ) ), Points( X, Y, Legend( 8 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
8,
Properties(
0,
{Marker Size( 0 ), Transparency( 0 )},
Item ID( "^offset_cols[i]^", 1 )
)
)}
)
)
);Re: 問題を選択してください最新の質問に対する回答がないのは、コードの表示方法が原因の 1 つです。画像の形式でコードを渡すと、コミュニティがコードをデバッグしようとする場合、すべてのコードを手動で入力する必要があります。[コードの挿入] アイコン、またはできれば [JSL スクリプトの挿入] アイコンを使用してコードを入力していただけますか。ブラウザがどちらもサポートしていない場合は、コードを応答に貼り付けると機能します。
Re: 問題を選択してください
ここで最後に行くべきだと思いますが、ずっと出てきます

他に何を試すべきかわからないので、いくつかの異なる論理名を試しましたが、変化はありませんでした。
Re: 問題を選択してくださいきれいです。目的地に達しました。そのために出てくるセリフを台本に挿入するのに苦労しています。 この調整を行うと、スクリプトは次のようになります

しかし、ベーススクリプトのどこにどのように修飾子を挿入するかを理解するのに苦労しています。

これをもっと理解したいと思っていますが、今のところ、理解することは効果よりも重要です ^.^ (テキストの動作がおかしくなったため、テキストではなく画像として保存しました。テキスト コードは続きます)
もっと見る...
Re: 問題を選択してくださいグラフの凡例内の点を右クリックすると、点のサイズと色を変更できます。Re: 問題を選択してください補遺:
さて、グラフもポイントを使用するように変更しました。 ただし、ポイントが膨大なので、写真がごちゃごちゃになります。 ポイントをより小さくグラフ化する方法、またはグラフ化して可視ポイントを削除する方法はありますか? 点は必要ありません。必要なのは、線の特定のセグメントを選択する機能だけではありません。 さらにご協力いただきありがとうございます。

Re: 問題を選択してくださいこれで質問には答えられましたが、新たな問題が生じました。 一方、私は今、多くの努力をせずにピーク値を見つける非常に迅速な方法を知っていますが、ラインのセグメントを選択するだけで済むようにしたいと思っています。 この場合、折れ線グラフはデータを表す最適な方法です。これは流体の流れであり、時間枠に沿ってデータ ポイントを収集しますが、流体は依然としてそれらのポイントの間を流れており、また、他の形式での表示方法を反映しているため、正しいデータを見ているのか、それともデータが望ましいパラメータから大きく外れているのかを簡単に確認できます。 線として表示しつつ点として扱う方法はないでしょうか... *熟考* まあ、とにかく、情報をありがとう!
Re: 問題を選択してくださいこんにちは、みんな、
線を選択すると、その線を構成するすべての点が選択されます。 ラインのその領域のみを選択するには、ライン上に点が必要になります。
お役に立てば幸いです。
クリス
Re: 問題を選択してください興味深いですね、私にも同じことが起こります。また、なげなわツールが自由描画多角形ではなく長方形に変わっていることにも気付きました。ただし、これはグラフ ビルダーで点ではなく線オプションが選択されている場合にのみ発生します。私は、変数の平均値に対して線が引かれているため、すべての点が平均値の計算に使用されるため、すべての点が強調表示されていると推測しています。しかし、それは推測であり、誰かが謎を解明できるかどうか知りたいと思っています。他の質問に関しては、ColMax 関数や ColRank 関数を組み合わせて使用して、探しているポイントを取得できますか?
Re: 問題を選択してください
これは 2 行のデータのみを含む非常に単純なグラフです。非常に単純であるはずですが、ご覧のとおり、何らかの理由でピークだけを選択するとスプレッドシート全体が強調表示されます。
2番目の部分では、現在持っているスクリプトにそれを組み込む方法をさらに探しています。データポイントを探し出して選択する必要がある場合、そのポイントはすでに無効になっており、変数はそれが発生する列であることがわかっています。参照の各ピークの前には常に 0 があり、ライン上の各出現のピークの最高点のみを気にします。
もちろん本は見ますが、時間は待ってくれません。このプロジェクトの目的は、すでに行っているタスクを効率化することです。Excel にすでにある値を探すために JMP を使用する必要はありません。 ^.^
Re: 問題を選択してください以下は、いくつかのポイントが選択されたチャートです。チャートとデータ テーブルの両方でわかるように、どのポイントが選択されているかがわかります。ただし、問題が何であるかを判断するには、使用していたグラフとデータ テーブルに何が含まれているかについて、より多くの情報を提供する必要があります。最初のステップとして、JMP のインストールに付属している『Essential Graphing』の本を読むことをお勧めします。
ヘルプ==>書籍==>基本的なグラフ作成

2 番目の質問に関しては、はい、線から選択した点を決定し、その値をチャートに表示することができます。これを行うには、ラベルに使用する列を指定し、表示するデータ ポイントを選択します。繰り返しますが、これについては『Essential Graphing』という本で説明されています。