我看到了兩種獲得你想要的東西的方法之一。
第一種方法是將數據更改為 Y 軸有 2 列的位置。每個 Ram Travel 一欄用於您的平滑度,一欄用於 Ram Travel 用於您的開始時間。表中的行不重疊。存在實際 Ram Travel 數據或偏移量 Ram Travel 數據的數據,但不是兩者都有

然後創建圖表,X 軸為時間,Y 軸為 Ram Travel 和 Ram Travel2。
然後將 Y 軸分成左軸和右軸。這將允許您獨立處理兩組數據。將右軸作為點,將左軸作為平滑器

第二種方法是僅在起始參考點的 X 軸上添加一條參考線。如果它是示例圖表中所示的靜態值,那麼此方法可能是處理顯示的更好方法

可以將一個簡單的 << 添加圖形腳本添加到您的圖形中,該腳本將獲取參考線的值,然後將 << 添加參考線應用於圖形。
我不確定對於我正在查看的每個實驗,這將如何使用不同的值。 數據都在一個表中,我通過使用本地數據過濾器在一個實驗與另一個實驗之間移動。 有沒有辦法讓圖形為每個實驗找到參考線,並根據我使用的本地數據過濾器更改參考線?
如果您可以提供一些樣本數據,我會研究一下這個問題。
我附上了一個示例數據集。 該表還包括一個腳本,可以按照我現在的方式製作圖形,例如。
將一組值移動到新軸確實允許可視化,但如果我這樣做,那麼我不能將次軸用於另一個因素。 附件是圖表的圖像,其中包含我已經計劃包含在圖表中的次要因素。
參考線並不是一個好的選擇,因為我有很多這樣的圖表,每個圖表都有不同的紅色數據點。 它始終是一條線,不會隨時間變化,但它的值會根據批次而變化。 附件是具有兩個 y 因子的圖形示例。

我已經能夠修改您的代碼以將數據顯示為更平滑,並將第一和第二重要時間顯示為參考線。

JSL 使用 Make Row State Handler 來確定 Local Data Filter 已更改,然後找到正確的 1st 和 2nd Important Time 數據,刪除舊的參考線,然後添加新的參考線。
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();
我有一個包含兩個不同 x 軸的圖表。 我希望圖表只使用平滑值而不是實際值。 但是,當我打開平滑器時,第二個軸的值消失了(紅色值)。 有沒有辦法防止這種情況發生? 請參閱所附圖片以獲取我正在談論的示例。
