C\#Windows Form 호출 R 을 구현 하여 그림 과 표 시 를 하 는 방법

전제 준비
R 소프트웨어 를 설치 하려 면 32 비트 의 R 소프트웨어 를 설치 해 야 하 며 64 비트 의 호출 이 잘못 될 수 있 습 니 다.또 R 을 컴퓨터 환경 변수 에 추가 한 다 는 것 이다.
R 소프트웨어 를 열 고 패키지 scatterplot3d 를 설치 합 니 다.이 R 패 키 지 를 사용 해 야 합 니 다.
2.프로젝트 GraphGenerateByR 을 만 들 고 프로젝트 구 조 는 다음 과 같 습 니 다.

메모:RDotNet 라 이브 러 리 를 도입 해 야 합 니 다.직접 다운로드 할 수 있 습 니 다.http://rdotnet.codeplex.com/
3.메 인 창 코드

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace GraphGenerateByR
{
 using RDotNet;
 public partial class Main : Form
 {
  public Main()
  {
   InitializeComponent();
  }
  REngine engine = null;

  string Rcode = "";
  private void btnPlot_Click(object sender, EventArgs e)
  {
   try
   {
    if(this.txtRcode.Text=="")
    {
     Rcode = @"library('scatterplot3d')
       z <- seq(-10, 10, 0.01) 
       x <- cos(z)
       y <- sin(z) 
       scatterplot3d(x, y, z, highlight.3d=TRUE, col.axis='blue', col.grid='lightblue',main='3d  ',pch=20)
       ";
    }
    else
    {
     Rcode = this.txtRcode.Text;
    }

    //R.3.2.4
    engine = REngine.GetInstance();
    engine.Initialize();
    //    GUID,    (            )
    string rnd = System.Guid.NewGuid().ToString().Replace("-", "");
    string filename ="i"+ rnd+ "__Rimage.png";
    engine.Evaluate(string.Format("png(file='{0}',bg ='transparent',width={1},height={2})", filename, this.ptbGraphic.Width, this.ptbGraphic.Height));

    //engine.Evaluate(@"x <- (0:12) * pi / 12
    //    y <- cos(x)
    //    plot(x,y);
    //    ");
    engine.Evaluate(Rcode);
    engine.Evaluate("dev.off()");
    string path = System.IO.Path.GetFullPath(filename);

    Bitmap image = new Bitmap(path);
    ptbGraphic.Image = image;
   }
   catch(Exception ex)
   {
    MessageBox.Show(ex.Message);
   }
  
  }

  private void Main_FormClosing(object sender, FormClosingEventArgs e)
  {
   if(engine!=null)
   {
    //clean up
    engine.Dispose();
   }
  }
 }
}
4.실행:
plot 를 누 르 면 기본 R 코드 를 호출 합 니 다.구 조 는 다음 과 같 습 니 다.

합 법 적 인 R 그림 문 구 를 입력 하고 Plot 를 다시 누 르 면 결 과 는 다음 과 같 습 니 다.

총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기