显示多个R嵌入图形在多个面板winformc#

本文关键字:winformc# 显示 图形 | 更新日期: 2023-09-27 18:06:45

我想用rnet展示多个嵌入在winformc#中的R图形。我有两种形式。表单1由多个面板组成,表单2由基于用户输入的一些参数组成。我的情况下,用户输入参数后,图形将显示在面板的形式1,而不是在弹出窗口。我已经尝试了一些代码,我从https://rdotnet.codeplex.com/workitem/7或https://peterdaidinh.wordpress.com/2014/09/29/displaying-an-r-graph-within-a-c-net-winform/他们很好地显示嵌入在表单中的图形,但只在一个面板,所以多个图形将只显示在一个面板。我的问题是如何在多个面板中显示多个嵌入图形。这是我的代码在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();
    }     
}}

显示多个R嵌入图形在多个面板winformc#

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

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