我正在使用 R.NET 生成图(使用ggplot),我想将这些图以 PNG 格式保存在磁盘上。每当我调用engine.Evaluate("ggsave('C:\path\to\file.png', myPlot)")程序突然中止并退出代码 2 时,没有任何内容写入磁盘;发生这种情况时不会显示错误。png()也不可能使用或将绘图写入文件pdf()。但是,此问题并非特定于ggplot,我也无法存储通过本机plot函数生成的图。
我可以将问题缩小到包含ggsave()or png()/的pdf()行:执行此行时,程序中止。因为我实际上可以看到由ggplot()和生成plot()的绘图,所以绘图本身似乎不是问题所在。
您应该能够使用以下 C# 代码重新创建我所描述的内容:
using RDotNet;
namespace Test {
class Program {
static void Main(string[] args) {
REngine.SetEnvironmentVariables();
REngine engine = REngine.GetInstance();
engine.Evaluate("png('D:\\Test.png')");
engine.Evaluate("plot(rnorm(1000))");
engine.Evaluate("dev.off()");
}
}
}
显然,这段代码应该没有任何问题。
跑步时
png('D:\\Test.png')
plot(rnorm(1000))
dev.off()
在 R 中,生成了一个图并成功保存到 Test.png 中。
我正在使用 .NET Framework 4.6.1、R.NET 1.7.0 和 R 3.4.2。我的计算机上没有安装 R,也没有为 R 创建注册表项 - 我只是按照此处所述使用 R DLL 。
芜湖不芜
12345678_0001
相关分类