欲しいものを手に入れる方法は 2 つあります。
最初の方法は、データを Y 軸の列が 2 つある場所に変更することです。Ram Travel ごとに 1 つの列がスムーザー用に、1 つの列が Ram Travel 用のオンセット時間に使用されます。テーブル内の行は重複していません。実際のラム移動データまたはオフセット用のラム移動データのいずれかのデータがありますが、両方のデータはありません

次に、X 軸に Time、Y 軸に Ram Travel と Ram Travel2 の両方を使用してチャートを作成します。
次に、Y 軸が左軸と右軸に分割されます。これにより、2 つのデータ セットを個別に扱うことができます。右軸をポイント、左軸をスムーザーのままにする

2 番目の方法は、開始基準点の X 軸に基準線を追加するだけです。グラフの例に示されているように静的な値である場合、このメソッドは表示を処理するためのより良い方法である可能性があります

私が見ている実験ごとに異なる値でそれがどのように機能するかはわかりません。 データはすべて 1 つのテーブルにあり、ローカル データ フィルターを使用して、ある実験から別の実験に移動します。 グラフですべての実験の基準線を見つけ、使用しているローカル データ フィルターに基づいて線を変更する方法はありますか?
サンプルデータを提供していただければ、問題を調査します。
サンプルデータセットを添付しました。 この表には、例として、私が現在行っている方法でグラフを作成するためのスクリプトも含まれています。
値の 1 つのセットを新しい軸にシフトすると、視覚化が可能になりますが、そうすると、2 次軸を別の要素に使用できなくなります。 添付は、私がすでにグラフに含めることを計画していた第 2 因子を含むグラフのイメージです。
これらのグラフがたくさんあり、それぞれが赤いデータポイントのポイントが異なるため、基準線は実際には良いオプションではありません. これは常に線であり、時間の経過とともに変化しませんが、その値はバッチに応じて変化します。 2 つの y 因子を含むグラフの例を添付します。

コードを修正して、データをよりスムーズに表示し、1 回目と 2 回目の重要な時間を基準線として表示することができました。

JSL は Make Row State Handler を使用して、ローカル データ フィルターが変更されたことを確認し、正しい 1 番目と 2 番目の重要な時間データを見つけて、古い基準線を削除し、新しい基準線を追加します。
Names Default To Here( 1 );
dt = Current Data Table();
New Window( "filter test",
Data Filter Context Box(
H List Box(
dt << Data Filter(
Local,
Add Filter(
columns( :ProcessID ),
Where( :ProcessID == "\!"0A84CE32-1054-494B-B89C-1F4780E1F760\!"" ),
Display( :ProcessID, N Items( 15 ), Find( Set Text( "" ) ) )
)
),
V List Box(
//t = Text Box( "0 Rows Excluded" ),
t = gb = Graph Builder(
Size( 483, 600 ),
Variables(
X( :"Time Adjusted (s)"n ),
Y( :"Ram Travel Corrected (mm)"n ),
Y( :Other Factor, Position( 1 ), Side( "Right" ) )
),
Elements( Smoother( X, Y( 1 ), Legend( 8 ) ), Smoother( X, Y( 2 ), Legend( 9 ) ) ),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
8,
Properties( 0, {Line Width( 4 )}, Item ID( "Smooth(Ram Travel Corrected (mm))", 1 ) )
), Legend Model( 9, Properties( 0, {Line Width( 4 )}, Item ID( "Smooth(Other Factor)", 1 ) ) )}
)
)
)
)
)
);
updatetext = Function( {},
rs = t << Get Row States();
n = 0;
For( ii = 1, ii <= N Rows( rs ), ii++,
If( Excluded( As Row State( rs[ii] ) ),
n++,
Break();
)
);
If( ii != preRefLine,
Try( Report( gb )[AxisBox( 1 )] << Remove Ref Line( dt:"1st Important Time (s)"n[preRefLine] ) );
Try( Report( gb )[AxisBox( 1 )] << Remove Ref Line( dt:"2nd Important Time (s)"n[preRefLine] ) );
Report( gb )[AxisBox( 1 )] << Add Ref Line( dt:"1st Important Time (s)"n[ii], "Solid", "Orange", "", 4 );
Report( gb )[AxisBox( 1 )] << Add Ref Line( dt:"2nd Important Time (s)"n[ii], "Solid", "Green", "", 4 );
preRefLine = ii;
);
);
rsupdate = Function( {a},
If( Is Matrix( a ),
updatetext()
)
);
rsh = t << Make Row State Handler( dt, rsupdate );
updatetext();
さまざまなグラフの変数の一部を無効にするオプションもいくつかあります

2 つの異なる X 軸を持つグラフがあります。 グラフでは実際の値ではなく、より滑らかな値のみを使用したいと考えています。 ただし、スムーザーをオンにすると、2 番目の軸の値が消えます (赤い値)。 これを防ぐ方法はありますか? 私が話していることの例については、添付の画像を参照してください。
