【发布时间】:2011-07-05 19:01:34
【问题描述】:
是否可以从 c++ 调用绘图函数? 目前,当我尝试这样做时,ubuntu 终端会冻结一段时间(可能是创建 3d 图然后旋转 360 度的持续时间)然后解冻,而不会弹出新窗口。 这是预期的行为还是我做错了什么?如何使用 rinside 和 rcpp 在 c++ 中运行绘图(R 图形)?
谢谢
-埃贡
【问题讨论】:
是否可以从 c++ 调用绘图函数? 目前,当我尝试这样做时,ubuntu 终端会冻结一段时间(可能是创建 3d 图然后旋转 360 度的持续时间)然后解冻,而不会弹出新窗口。 这是预期的行为还是我做错了什么?如何使用 rinside 和 rcpp 在 c++ 中运行绘图(R 图形)?
谢谢
-埃贡
【问题讨论】:
是的,Rcpp 包中有一个工作示例。查看examples/目录下的文件functionCallback/newApiExample.r。
您可能需要尝试使用sleep() 来“保留”绘图片刻,或者绘图到文件然后显示该文件。这一切都取决于,但你提供的细节很少。
【讨论】:
interactive 标志为 FALSE。我想你必须改变它。或者绘制到一个 png 文件并让小部件显示它。
处理交互会话的环境变量是R_INTERACTIVE_DEVICE。
我们需要在我们的主目录中创建一个名为.Renviron 的文件,然后将以下代码添加到该文件中:
R_INTERACTIVE_DEVICE = X11 适用于基于 Linux 的系统。
anisha@linux-y3pi:~> ls .Renviron
.Renviron
anisha@linux-y3pi:~> cat .Renviron
R_INTERACTIVE_DEVICE = X11a
参考:
1.http://stat.ethz.ch/R-manual/R-patched/library/base/html/Startup.html
2.http://stat.ethz.ch/R-manual/R-patched/library/base/html/options.html
【讨论】: