如果我們在 Bivariate 函數中添加“by”,為什麼軸框腳本不起作用?你好,
我在指南中嘗試了一個示例腳本,發現當我們在雙變量圖中添加“by”時,我們無法使用 jsl 進行軸操作。 有解決方法嗎? 謝謝。
有效的示例腳本:
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate( X( :height ), Y( :weight ), FitLine );
rbiv = biv << report;
xaxis = rbiv[axis box( 2 )];
yaxis = rbiv[axis box( 1 )];
xaxis << Axis Settings( Show Major Grid( 1 ) );
yaxis << Axis Settings( Decimal( 10, 3 ) );
不起作用的示例腳本。 輸出繪圖但不修改軸。
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate( X( :height ), Y( :weight ), by(:sex), FitLine );
rbiv = biv << report;
xaxis = rbiv[axis box( 2 )];
yaxis = rbiv[axis box( 1 )];
xaxis << Axis Settings( Show Major Grid( 1 ) );
yaxis << Axis Settings( Decimal( 10, 3 ) );
謝謝,
沙伊拉
回复:如果我們在雙變量函數中添加“by”,為什麼軸框腳本不起作用?@txnelson , 謝謝! 解決方案很簡潔,我終於明白了這個問題。
回复:如果我們在雙變量函數中添加“by”,為什麼軸框腳本不起作用?問題是,您在 By(:sex) 配置中創建了 2 個不同的圖表。如果您運行代碼並在生成一個或多個圖表後顯示“biv”的值,您可以看到這一點。如果您在圖表的非 By 版本中顯示“biv”,則“biv”的值為:
{Bivariate[]}
如果您在 By 版本之後顯示()“biv”的值,您將看到:
{Bivariate[], Bivariate[]}
有2組圖表輸出。因此,這需要在代碼中處理。下面的腳本將向您展示一種方法:
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate( X( :height ), Y( :weight ), by(:sex), FitLine );
For(i=1,i<=N items(biv),i++,
rbiv = (biv << report)[i];
xaxis = rbiv[axis box( 2 )];
yaxis = rbiv[axis box( 1 )];
xaxis << Axis Settings( Show Major Grid( 1 ) );
yaxis << Axis Settings( Decimal( 10, 3 ) );
);