使用模块创建任意数量的绘图,输入为闪亮

时间:2018-03-26 13:59:07

标签: r plot ggplot2 shiny

非常感谢您的时间和帮助!

我的目标:在闪亮的地方创建任意数量的地块( ggplot2 ),每个地块都有许多控件(y轴最小/最大,绘图下载按钮,情节,情节悬停信息)。 重要:使用闪亮模块实现它,其中创建模块以构建单个ui元素,另一个模块调用单个元素模块并循环以创建任意数量的ui元素(我可以在不使用模块的情况下使其工作)。

如果绘图的数据(以及用于循环创建每个绘图的矢量)全局加载到应用程序中,

对我来说是有效的。这个global data gist演示了我使用全局加载的iris数据集的用例。这是它在工作时的样子:snapshot of the app

然而,我的问题是当全局未加载数据时,我无法弄清楚如何编写闪亮的模块。 现实生活中的例子:我从数据库中提取数据,在服务器端进行一些处理,然后我想生成这些图。 可重复示例使用服务器端加载的iris数据集:server data gist

在服务器端加载数据时遇到的错误(运行server data gist时):

  

as.vector中的错误:无法将'environment'强制类型为'character'类型的向量

我认为这与我为多个ui元素编写模块的方式有关(我怀疑是multiplePlotsUI)。

我的问题:编写调用另一个模块的模块并在向量上循环以生成任意数量的ui元素(y轴控件,绘图下载按钮,绘图)的正确方法是什么当悬停信息时,数据未全局加载?

1 个答案:

答案 0 :(得分:0)

我不知道它是否有帮助,但据我所知,您的input.data()功能未在multiplePlots电话中定义local.data <- input.data()

你也在打电话

dm <- dat()

两次,但此dat()函数似乎无法定义