我想在c#中顯示橢圓。我的代碼是好的,當R中運行,但我從C#像這樣得到的消息: 「對象是靜態的;不允許操作(從HRESULT異常:0x8004000B(OLE_E_STATIC))」C#:無法從R執行代碼
這裏這是我的代碼:
df.rconn.Evaluate("library(cluster)")
df.rconn.Evaluate("library(rrcov)")
public void setScatter(int xAxis, int yAxis, int zAxis, List<string> variable)
{
// plot from R
//to show outlier with method : classic & robust Mve
this.comboBoxXAxis.SelectedIndex = xAxis;
this.comboBoxYAxis.SelectedIndex = yAxis;
dataform.rconn.EvaluateNoReturn("x<-X[," + xAxis + "] ");
dataform.rconn.EvaluateNoReturn("y<-X[," + yAxis + "] ");
dataform.rconn.EvaluateNoReturn("shape <- cov(X)");
dataform.rconn.EvaluateNoReturn("center<- colMeans(X)");
dataform.rconn.EvaluateNoReturn("d2.95 <- qchisq(0.95, df = 2)");
//dataform.rconn.EvaluateNoReturn("gr<- grid(lty=3,col='lightgray', equilogs = 'TRUE')");
//dataform.rconn.Evaluate("mtext('with classical (red) and robust (blue)')");
dataform.rconn.EvaluateNoReturn("plot(x,y, main='Draw Ellipse ', pch=19,col='black', type='p')");
dataform.rconn.EvaluateNoReturn("elp<- unname(ellipsoidPoints(shape, d2.95,center))");
dataform.rconn.Evaluate(" lines(elp, col='red' , lty=7 , lwd=2)");
//dataform.rconn.EvaluateNoReturn("lines(e)");
//dataform.rconn.EvaluateNoReturn("lines(ellipsoidPoints([email protected], d2 = d2.95, [email protected]), col='blue', lty='7' , lwd='2') ");
axGraphicsDevice2.RemoveFromConnector();
}
在我評論的任何代碼中總是得到相同的錯誤。我不知道爲什麼會出現這個問題。任何想法如何顯示該橢圓?非常感謝你,因爲你幫助我完成論文。
如果通過它進行調試,它會失敗的是哪一行? – SteveFerg
什麼是rconn?你的操作系統是什麼?請包括相關信息。 http://stackoverflow.com/help/how-to-ask –
@SteveFerg:我使用funtion橢球點時出錯 – riu