在多面板Winform C#中显示多个R Embedded Graph [英] display multiple R Embedded Graph in multiple panel winform c#

查看:74
本文介绍了在多面板Winform C#中显示多个R Embedded Graph的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想显示使用R.NET从R嵌入在winform c#中的多个图形.我有两种形式.表格1由多个面板组成,表格2由基于用户输入的某些参数组成.我的情况是,用户输入参数后,图形将显示在窗体1的面板中,而不是在弹出窗口中.我已经尝试了从 https://rdotnet.codeplex.com/workitem/7或 https://peterdaidinh.wordpress.com/2014/09/29/displaying-an-r-graph-within-ac-net-winform/它们擅长显示嵌入表格中的图形,但只能显示在一个面板中,因此多个图形只能在一个面板中显示.我的问题是如何在多个面板中显示多个嵌入式图形.这是我在form2上的代码:

I want to show multiple graphs from R that embedded in winform c# using R.NET. I have two forms. Form 1 consist of multiple panels and form 2 consist of some parameters based on user input. My scenario, after user input the parameter then graph will show in panels at form 1 not in popup window. I have tried some code that I got from https://rdotnet.codeplex.com/workitem/7 or https://peterdaidinh.wordpress.com/2014/09/29/displaying-an-r-graph-within-a-c-net-winform/ they're good in showing graph embedded in the form but only in one panel so multiple graphs will show only in one panel.My question is how to show multiple embedded graphs in multiple panels. Here is my code at form2:

    namespace RNETGraph

{public partial class RGraphForm : Form
{
    private readonly RGraphAppHook cbt;
    REngine engine;

    public RGraphForm()
    {
        InitializeComponent();
        engine = REngine.GetInstance();

    }

    private void btnShowGraph_Click(object sender, EventArgs e)
    {
        Panel pan2 = data.getPanel2();
        RGraphAppHook cbt1 = new RGraphAppHook { GraphControl = pan2 };
        cbt1.Install();
        engine.Evaluate("plot(rnorm(100))");
        cbt1.Uninstall();

        Panel pan1 = data.getPanel1();
        RGraphAppHook cbt = new RGraphAppHook { GraphControl = pan1 };
        cbt.Install();
        engine.Evaluate("plot(rnorm(500))");
        cbt.Uninstall();
    }     
}}

推荐答案

使用 win.graph() dev.new()打开新的图形窗口:

Open a new graphics window using win.graph() or dev.new():

cbt.Install();
engine.Evaluate("win.graph()");    
engine.Evaluate("plot(rnorm(500))");
cbt.Uninstall();

这篇关于在多面板Winform C#中显示多个R Embedded Graph的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆