我正在使用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();