你好,
在 JMP Pro 17.2.0 上,我在 For 迴圈中使用 << Add Ref Line 指令,並希望前 3 個參考線標籤顯示在對面的軸上。我嘗試過這樣的符號,
rpVarPlots1[i][AxisBox( 1 )] << Add Ref line( rUCL[i], "Solid", "Purple", "UCL=" || Char( rUCL[i] ), 1, Label Position("Opposite) );
rpVarPlots1[i][AxisBox( 1 )] << Add Ref line( rUCL[i], "Solid", "Purple", "UCL=" || Char( rUCL[i] ), 1, Label Settings( {Opposite Axis( 1 )} ) );
但我嘗試過的方法都無效,並導致諸如“名稱未解析:訪問或評估‘標籤位置’時的標籤位置...”之類的錯誤。
有辦法實現這個嗎?下面是我的程式碼範例以及我想要做的事情。

For( i = 1, i <= z, i++,
Eval(Expr(
rpVarPlots1[i][AxisBox( 1 )] << Add Ref line( rUCL[i], "Solid", "Purple", "UCL=" || Char( rUCL[i] ), 1 );
rpVarPlots1[i][AxisBox( 1 )] << Add Ref line( rCL[i], "Solid", "Black", "CL=" || Char( rCL[i] ), 1 );
rpVarPlots1[i][AxisBox( 1 )] << Add Ref line( rLCL[i], "Solid", "Purple", "LCL=" || Char( rLCL[i] ), 1 );
rpVarPlots1[i][AxisBox( 1 )] << Add Ref line( center[i], "Solid", "Green", "pCL=" || Char( Round( center[i], 2 ) ), 2 );
rpVarPlots1[i][AxisBox( 1 )] << Add Ref line( center[i] - sigma[i], "Dashed", "Blue", "-1Sig=" || Char( Round( center[i] - sigma[i], 2 ) ), 1 );
rpVarPlots1[i][AxisBox( 1 )] << Add Ref line( center[i] + sigma[i], "Dashed", "Blue", "+1Sig=" || Char( Round( center[i] + sigma[i], 2 ) ), 1 );
rpVarPlots1[i][AxisBox( 1 )] << Add Ref line( center[i] - 3*sigma[i], "Solid", "Red", "pLCL=" || Char( Round( center[i] - 3*sigma[i], 2 ) ), 2 );
rpVarPlots1[i][AxisBox( 1 )] << Add Ref line( center[i] + 3*sigma[i], "Solid", "Red", "pUCL=" || Char( Round( center[i] + 3*sigma[i], 2 ) ), 2 );
rpVarPlots1[i][AxisBox( 1 )] << Add Ref line( center[i] - 4*sigma[i], "Dotted", "Dark Gray", "pLDL=" || Char( Round( center[i] - 4*sigma[i], 2 ) ), 1 );
rpVarPlots1[i][AxisBox( 1 )] << Add Ref line( center[i] + 4*sigma[i], "Dotted", "Dark Gray", "pUDL=" || Char( Round( center[i] + 4*sigma[i], 2 ) ), 1 );<BR />)));
使用標籤設定時,您可能需要新增一個額外的參數(我的範例中的第二個參數 1,用於透明度)。這對我來說確實有用,但我正在使用 JMP18。
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:weight), Y(:height), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
);
ab = Report(gb)[AxisBox(2)];
For(i = 1, i <= 3, i++,
ab << Add Ref Line(
50 + i * 5,
"Solid",
"Black",
"my label",
1,
1,
Label Settings({Label Position("Outside"), Opposite Axis(1)})
)
);