Как встроить R-график в Winform в C #?

2

Я использую R.NET для выполнения вычислений в своем приложении С#, и теперь я хотел бы отобразить результаты в Winform.

Кто-нибудь может посоветовать, как встроить R-график в winform, используя R.NET?

Я нашел пост ниже, который кажется устаревшим, так как я не могу найти ни ссылку, ни пакет Nuget для пространства имен RNETGraph, которое они используют. Ссылка, указанная в сообщении, также была заархивирована.

отображать несколько R Embedded Graph в нескольких панелях winform С#

И я хотел бы избежать уродливого решения сохранить изображение и затем загрузить его в PictureBox, поскольку мне нужно динамически изменять график в соответствии с пользовательским вводом.

Спасибо

Теги:
winforms
r.net

1 ответ

0

Я никогда не завладевал R.NET - документация просто была не очень ясной.

Однако есть и другой вариант. Вы можете использовать командную строку для передачи аргументов из вашего приложения С# в ваш R.Script.

Например:

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

namespace WindowsFormsApp2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string strCmdText;
            strCmdText = "Rscript.exe [directory here]\\script.R 10 arg2"; //what comes after script.R are the arguments you are passing. 
            System.Diagnostics.Process.Start("CMD.exe", strCmdText);
        }
    }
}

Затем очень легко получить аргументы в R Script. Просто используйте:

args <- commandArgs(trailingOnly = TRUE)

var1 <- args[1]  #Argument 1
var2 <- args[2]  #Argument 2

Приложение: Пожалуйста, обратите внимание, что вы должны иметь ваш RScript.exe в переменных среды для того, чтобы вышеперечисленное работало.

  • 0
    Извините, но это не отвечает на этот вопрос вообще ... и с R.NET есть намного более простые способы передать аргументы в Rengine ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню