使用OpenCPU下载用于生成绘图的数据

时间:2014-05-12 22:29:36

标签: javascript r opencpu

我使用OpenCPU作为表示层来生成基于R包的一些图。图表运行良好,现在用户需要下载用于生成图表的数据以进行更深入的分析。 有可能检索数据吗? 可以不对那些检索数据的函数进行双重调用(我连接到DB)?

我想放一个按钮,然后最终用户可以点击并开始下载文件(纯文本或任何格式),并将图表中显示的信息与收到的数据相关联。

非常感谢您的回复。

1 个答案:

答案 0 :(得分:1)

您可能想在R中创建两个函数:

  • getdata:从数据库中检索数据并返回数据框的函数。
  • makeplot:一个带有dataframe参数的函数,用于创建绘图并且不返回任何内容。

然后您的客户可以单独打电话给他们。首先,客户端调用getdata从数据库中检索数据,服务器将使用表示服务器上返回的数据框对象的临时{key}进行响应,例如x01234567

然后,您可以使用此键下载数据集或将其用作参数来创建绘图。要下载数据,只需创建一个超链接,例如:

  • http://your.server.com/ocpu/tmp/x01234567/R/.val/csv
  • http://your.server.com/ocpu/tmp/x01234567/R/.val/tab
  • http://your.server.com/ocpu/tmp/x01234567/R/.val/json

要创建绘图,客户端调用makeplot并传递x01234567作为数据框的参数值。 OpenCPU服务器将自动查找该密钥的对象,以查找getdata之前返回的数据框对象。