你好,
一種可能的低技術解決方案是在數據表的單獨列中計算參考曲線,然後將其與其餘數據一起繪製。
最好的,
TS
你好,
右鍵單擊圖形,從上下文菜單中選擇“自定義”,單擊“+”圖標。 從這裡您可以使用 Y 函數 ( ) 函數添加腳本,該函數有 2 個參數:一個表達式(函數)和域變量(此處為 x)。
單擊確定,您就完成了。

這也很容易通過使用 Y 函數 ( ) 函數編寫腳本來實現。 這裡,繪製了對應於係數 [2, 3, -5] 的 y = 2x^2 + 3x -5。 我在這裡使用了 Horner 的規則,因為它使下一個插圖中的事情變得更容易。
dt = astable(J(40,2,randominteger(-20,20)));
gb = dt << Graph Builder( Variables( X( :Col2 ), Y( :Col1 ) ), Elements( Points( X, Y, Legend( 3 ) ) ) );
report(gb)[framebox(1)] << add graphics script ( Y Function( (2 * x + 3) * x - 5, x ) );
一個問題是係數可能在運行時確定,可能不是整數,並且多項式的次數可能是未知的。 在這種情況下,類似以下的內容將起作用:
dt = astable(J(40,2,randominteger(-20,20)));
gb = dt << Graph Builder(
Variables( X( :Col2 ), Y( :Col1 ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
);
// get random uniform coefficient matrix
coef = J(5, 1, randomuniform());
// build an expression using Horner's rule:
for each ( {v, i }, coef,// i = 1; v = coef[i];
if (i > 1,
fctExp = insert ( insert ( expr ( multiply ( ) ), nameExpr ( fctExp ) ), expr ( x ) );
,
fctExp = expr ( 0 );
);
fctExp = insert ( insert ( expr( add ( ) ), nameexpr( fctExp ) ), v );
);
// substitute into a graph script expressison and evaluate
graphAdd = expr (
report(gb)[framebox(1)] << add graphics script ( Y Function( _EXPRESSION_ , x ) )
);
eval ( substitute ( nameexpr(graphAdd), expr( _EXPRESSION_ ), nameexpr ( fctExp ) ) );
//show the expression in the log
show ( fctExp )

您最初關於通過自定義功能添加腳本的建議奏效了。 謝謝你!
你好。
我使用 Fit Y by X 繪製數據。
我想繪製一個已知的二次方程作為參考線(而不是將其擬合到顯示的數據)。 我可以看到如何使用“Fit Special”、“線性”進行線性擬合,然後將截距和斜率限制為任何值,但是當從下拉框中選擇二次(或更高階)時,它不會為您提供輸入額外係數進行約束的地方。
我可以通過腳本來完成嗎?如果是的話,格式是什麼?
非常感謝