uiOutput没有显示闪亮的服务器

时间:2015-08-19 19:42:39

标签: r shiny shiny-server

我有一个闪亮的应用程序在本地工作正常,无论我是在窗口或浏览器中打开它,但在将它放到我们闪亮的服务器后,我得到了一些意想不到的行为。

我有两个使用uiOutput显示的图。加载数据文件后的第一个显示,第二个只是当用户从第一个图中选择一个区域并双击时出现的缩放图。将此应用程序放在我们的服务器上并在浏览器中使用后,第一个图表会在用户上传文件时出现,但第二个图表将不会显示(它完全空白 - 没有数据点,轴或标签)。

奇怪的是,第二个图中的数据仍然可以与之交互。我已经包含了悬停功能,以便当用户将鼠标悬停在第二个绘图中的某个点上时,会在小文本窗口中显示有关该点的信息。即使第二个绘图永远不会出现,如果我将鼠标移动到绘图应该的区域上,这个悬停信息也会正确显示。取决于选择用于缩放的区域的大小(即,如果它是大的),缩放的图像可能不适合窗口,使得需要滚动条。如果我选择一个较大的区域进行缩放,滚动条就会出现,就像图像在那里一样,但是情节就像我说的那样空白。我可以将缩放的绘图渲染为pdf,看起来是正确的,但这不是我想要的。

正如我所说,一切都在本地工作正常,这只有在将应用程序放在我们的服务器上后才会发生。在Firefox,Safari和Chrome中也会发生同样的事情。这必须与闪亮的服务器有关,但我不知道是什么两个图以相同的方式呈现。

1 个答案:

答案 0 :(得分:0)

我已经成功解决了这个问题。在server.R中,当我生成缩放的绘图时,我正在做两件事。首先,我正在创建一个pdf如下:

pdf("z_plot.pdf")
plot()
...
dev.off()

这样做的目的是制作一个可以根据需要下载的图表。在此之后,我发出命令在我闪亮的应用程序中渲染绘图。这一切都是在同一个反应式表达式中完成的,由于某些原因它在本地工作,但是当在闪亮的服务器上运行时,只生成pdf。我只需将绘图命令分成两个反应式表达式,一切正常。

相关问题