rCharts使用dimple.js在shiny应用程序中无法显示绘图

7
我遇到了一个问题,rCharts图表无法在我的闪亮应用程序中显示。我发现这个示例完全符合我的需求。尽管此图表在R中仅绘制时运行得很好,在shiny中它只是一个空白页面。
我不确定哪里出了问题。首先,我不确定在showOutput()中是否选择了正确的库,但我没有找到更好的解决方案。
我试图在一个更复杂的应用程序中绘制它,然而,下面是我简单应用程序的服务器代码的副本:
server.R

library(rCharts)
library(reshape2)
options(RCHART_WIDTH = 1700)
meansconferences <-read.csv("https://raw.github.com/patilv/ESPNBball/master/meansconferences.csv")

shinyServer(function(input, output) {
    output$test <- renderChart({
      meltmeansconferences=melt(meansconferences[-c(1,10:14)], id.vars=c("Conference","Year"))
      d1=dPlot(y="Year", x="value",data=meltmeansconferences, groups="variable",type="bar")
      d1$yAxis(type="addCategoryAxis", orderRule="Year")
      d1$xAxis(type="addPctAxis")
      return(d1)
    })
}
)

关于 UI:

ui.R
options(RCHART_LIB = 'dimple')

shinyUI(pageWithSidebar(

headerPanel("rCharts and shiny"),

sidebarPanel(),

mainPanel(
h4("Graph here"),
showOutput("test","dimple")
)
))

编辑:我正在使用R版本3.0.2和rCharts 0.4.2 shiny 0.8.0.99

如果你有任何想法,随时让我知道。提前感谢你!


你应该提到你正在使用哪个版本的rCharts。 - Stéphane Laurent
是的,很好的观点,完成了! - adomasb
我有相同的设置(Mac),但在Shiny中看不到图表。来自server.R的代码确实可以从命令行工作。当我检查元素时,数据等似乎在DOM中。然而,在Chrome控制台中显示错误:未捕获的“#chart1dd6feaf41b”选择器没有匹配任何元素。请使用“#”前缀按ID选择或使用“。”按类选择。 - Vincent
如果您正在使用renderChart,请切换到renderChart2或明确设置d1$set(dom = "test")。我建议使用renderChart2,因为我希望在下一个版本中将这两个函数合并。 - Ramnath
谢谢@Ramnath!那解决了所有问题,非常感谢你的帮助。顺便说一下,rCharts真的很棒,也谢谢你。 - adomasb
1个回答

4

我将我的评论作为答案发布,以便关闭这个问题

如果您正在使用renderChart,请切换到renderChart2或明确设置d1$set(dom = "test")。我建议使用renderChart2,因为我希望在下一个版本中将这两个函数合并。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接