JSL を使用してグラフィックス内の「Where (...)」テキストボックスを非表示にするこんにちは、
スクリプトを使用して、添付画像に示すように、Where(col="x") を使用してテキスト行を非表示/削除することは可能ですか? 私は JMP を初めて使用するため、まだすべての詳細を理解していません。
すべての代謝物/カウントラベル (pH、オスモなど) が 1 つの列にあり、対応するすべてのデータが別の列にある一連の積み重ねデータがあります。私の場合、図のタイトルの名前を同じラベルに変更したため、where() テキストボックスは無関係です。 JMP で画像を表示するときに右クリックしてテキスト ボックスを一時的に手動で非表示にすることはできますが、JSL を使用してテキスト ボックスを非表示にし、HTML にエクスポートするときに非表示のままにする方法がわかりません。
これは私のグラフィックの 1 つのサンプル スクリプトです。
Graph Builder(
Size( 531, 464 ),
Show Control Panel( 0 ),
Variables(
X( :Step ),
Y( :Name( "BR Metabolite/Count Data" ) ),
Overlay( :Run )
),
Elements(
Line( X, Y, Legend( 1 ) ),
Points( X, Y, Legend( 2 ), Jitter Limit( 0.2018 ) )
),
Where( :Name( "Metabolite/Count" ) == "pH" ),
SendToReport(
Dispatch(
{},
"Graph Builder",
OutlineBox,
{Set Title( "pH" ), Image Export Display( Normal )}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( "pH vs. Step" )}
),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "pH" )} )
)
);お手伝いありがとう!
マスカスタマイゼーションRe: JSL を使用してグラフィックスの「Where (...)」テキストボックスを非表示にするオンラインで非常に優れた解決策を見つけました:)
dp = New Window("Graph Window", tb);
//delete all "Where" text on the chart
For( i = 1000, i > 0, i--,
try(
If( Contains( dp[Text Box( i )] << get text, "Where(:" ),
dp[Text Box( i )] << delete;
)
);
);お役に立てれば
Re: JSL を使用してグラフィックスの「Where (...)」テキストボックスを非表示にするこれはそれを処理する1つの方法です
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
New Window( "big class - Graph Builder", vlb = V List Box() );
gb1 = Graph Builder(
invisible,
Size( 528, 456 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :age == 12 )
);
(Report( gb1 ) << top parent)[Text Box( 1 )] << delete;
vlb << append( Report( gb1 ) );
gb2 = Graph Builder(
invisible,
Variables( X( :weight ), Y( :height ) ),
Show Control Panel( 0 ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :age == 13 )
);
(Report( gb2 ) << top parent)[Text Box( 1 )] << delete;
vlb << append( Report( gb2 ) );
gb3 = Graph Builder(
invisible,
Variables( X( :weight ), Y( :height ) ),
Show Control Panel( 0 ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :age == 14 )
);
(Report( gb2 ) << top parent)[Text Box( 1 )] << delete;
vlb << append( Report( gb3 ) );
Re: JSL を使用してグラフィックスの「Where (...)」テキストボックスを非表示にする心配ない。 とにかく助けてくれてありがとう。 いろいろいじって、何かうまくいくかどうか確認してみます。
先ほども言いましたが、私は JMP を初めて使用するため、現時点ではすべてが非常に効率的に合理化されているわけではありません。 私は当初、すべてのグラフィックスを vlistbox 内に直接作成していましたが、そこにコード行を組み込む方法がわかりませんでした。 そこで、vlistbox からすべての図を取り出し、すべての削除行を個別に追加しました。
当初 By 句を使用していましたが、レポートを Web レポートに追加するときにいくつかの問題が発生しました。 そこで、グループごとのスクリプトをクリップボードに保存する代わりに、以下の例のようにスクリプトを scriptwindow (すべてのオブジェクト) に保存するようにしました。
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
By( :Name( "Metabolite/Count" ) )
);
New Window( "PCstack - Graph Builder",
V List Box(
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :Name( "Metabolite/Count" ) == "VCD at Split" )
),
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :Name( "Metabolite/Count" ) == "Viability at Split" )
),
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :Name( "Metabolite/Count" ) == "VCD at Inoc" )
),
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :Name( "Metabolite/Count" ) == "PDL" )
),
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :Name( "Metabolite/Count" ) == "PDT(h)" )
)
)
);
Re: JSL を使用してグラフィックスの「Where (...)」テキストボックスを非表示にするスクリプト全体を見ないと、問題がどこにあるのかを判断するのは非常に困難です。もう 1 つの質問は、グラフが生成される時点で削除コードを使用せずに、コード内の 1 つの時点ですべての削除を実行するのはなぜですか?それとも、コード内で By 句を使用していますか。これにより、表示ツリー構造が単一のスタンドアロン グラフとは完全に異なる階層に変更されます。
Re: JSL を使用してグラフィックスの「Where (...)」テキストボックスを非表示にするご協力いただきありがとうございます。
単一の Figure に対してはうまく機能しますが、現在、変更された Figure は vlistbox に追加されません。 それらを結合しようとすると、常に空白のボックスが吐き出されます。 <
(Report( gb1 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb2 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb3 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb4 ) << top parent)[Text Box( 1 )] << delete;
//(Report( gb5 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb6 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb7 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb8 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb9 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb10 ) << top parent)[Text Box( 1 )] << delete;
fig3 = expr(
New Window( "Production Bioreactor - Metabolites/Counts",
V List Box(gb1,gb2,gb3,gb4, gb6, gb7,gb8,gb9,gb10,gb11,gb12,gb13
)
));
Re: JSL を使用してグラフィックスの「Where (...)」テキストボックスを非表示にするこの場合、<< Delete メッセージを使用すると、おそらく影響を与えることなく、必要な変更に影響を与えるでしょう。 より安全な変更は、<< 可視性メッセージを通じて行うことができます。 Collapse 引数を使用して非表示にし、ウィンドウ内のスペースを節約しません。
Re: JSL を使用してグラフィックスの「Where (...)」テキストボックスを非表示にするこれは機能するはずです
gb = Graph Builder(
Size( 531, 464 ),
Show Control Panel( 0 ),
Variables(
X( :Step ),
Y( :Name( "BR Metabolite/Count Data" ) ),
Overlay( :Run )
),
Elements(
Line( X, Y, Legend( 1 ) ),
Points( X, Y, Legend( 2 ), Jitter Limit( 0.2018 ) )
),
Where( :Name( "Metabolite/Count" ) == "pH" ),
SendToReport(
Dispatch(
{},
"Graph Builder",
OutlineBox,
{Set Title( "pH" ), Image Export Display( Normal )}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( "pH vs. Step" )}
),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "pH" )} )
)
);
(Report( gb ) << top parent)[Text Box( 1 )] << delete;