我正在使用R.NET在我的C#应用​​程序中执行计算,并且
现在,我想在Winform中显示结果。

任何人都可以建议如何使用R.NET将R图嵌入Winform中?

我发现以下帖子似乎过时了,因为我找不到它们使用的RNETGraph命名空间的任何引用或Nuget包。帖子中引用的链接也已存档。

display multiple R Embedded Graph in multiple panel winform c#

而且,我想避免保存图像然后再将其加载到PictureBox中的丑陋解决方案,因为我需要根据用户输入动态更改绘图。

谢谢

最佳答案

您可以使用Dieter Menne的RGraphHooks在图形WinForms元素(例如Windows.Forms.Panel)中显示R的绘图输出。 RGraphHooks对Dino Esposito's Win32 hooks library有依赖关系。

RGraphHooks的用法非常简单。有关小型演示程序,请参见Peter Dai Dinh的this blog post

基本的操作是,将RGrapHook附加到WinForms GUI中的特定控件,然后将engine.Evaluate("plot(...)")包裹在此钩子中:

RGraphAppHook cbt = new RGraphAppHook { GraphControl = panelForPlot };

cbt.Install();
engine.Evaluate("plot(rnorm(100))");
cbt.Uninstall();

09-08 07:57