やあ!
複数のサンプルのパラメーターをグラフ化するスクリプトを作成しようとしています。 サンプルは、XX-AA のように名前が付けられます。ここで、XX はサンプルの ID/名前、AA はサンプルのタイムスタンプ (1、2、3 日など) です。
現在の問題は、グラフ ビルダーを使用して複数のサンプルを重ねてプロットしようとしており、JSL スクリプト内でどのような変更ができるかを確認していることです。 意図は、フォーマットされたサンプル命名法 XX-AA に対してパラメーター Y をプロットするグラフを作成することですが、タイムスタンプ AA に対してプロットするように X 軸のラベルを変更することです。
現在、FJ と WW の 2 つのサンプル用のグラフ ビルダー スクリプトがあります。 さまざまなサンプルを追加して重ねてプロットする予定です。そのため、以下に示すように、スクリプトの非効率性が明らかになるもう 1 つの問題があります。 さらに、添付ファイルから、FJ と WW が実際には重なっておらず、X 軸が 2,4,6,8 のようになり、その後に別の 2,4,6,8 が続くことがわかります。
Graph Builder(
Size( 532, 447 ),
Show Control Panel( 0 ),
Variables( X( :Sample ), Y( :Mass ), Overlay( :Sample Name ) ),
Elements( Points( X, Y, Legend( 3 ), Jitter( 0 ) ), Line( X, Y, Legend( 4 ) ) ),
SendToReport(
Dispatch(
{},
"Sample ID",
ScaleBox,
{Label Row(
{Tick Mark( Label( "FJ-02" ), Label( "2" ) ),
Tick Mark( Label( "FJ-03" ), Label( "3" ) ),
Tick Mark( Label( "FJ-04" ), Label( "4" ) ),
Tick Mark( Label( "FJ-05" ), Label( "5" ) ),
Tick Mark( Label( "FJ-06" ), Label( "6" ) ),
Tick Mark( Label( "FJ-07" ), Label( "7" ) ),
Tick Mark( Label( "FJ-08" ), Label( "8" ) ),
Tick Mark( Label( "WW-02" ), Label( "2" ) ),
Tick Mark( Label( "WW-03" ), Label( "3" ) ),
Tick Mark( Label( "WW-04" ), Label( "4" ) ),
Tick Mark( Label( "WW-05" ), Label( "5" ) ),
Tick Mark( Label( "WW-06" ), Label( "6" ) ),
Tick Mark( Label( "WW-08" ), Label( "8" ) )}
)}
),
Dispatch( {}, "X title", TextEditBox, {Set Text( "Time (days)" )} )
)
)
この問題を解決するために私が考えていた 1 つの方法は、サンプル名の形式 XX-AA のタイムスタンプ (AA) コンポーネントのみを見て、日のみを示す新しい列をスクリプトに作成させることでした。 より効率的/効果的な代替方法もあるのだろうかと思っていました。
前もって感謝します!

元の投稿では、スクリプトに次の行が含まれています。
Variables( X( :Sample ), Y( :Mass ), Overlay( :Sample Name ) ),
これを次のように置き換えてみてください。
Variables(
X( Transform Column( "Day", Formula( Num( Word( 2, :Sample, "-" ) ) ) ) ),
Y( :Mass ),
Overlay( :Sample Name )
),編集:この方法で行う場合は、おそらく SendToReport ブロックも削除する必要があります。