R:rCharts和Shiny,图表在我运行时不会出现

时间:2014-04-30 02:10:34

标签: r plot shiny rcharts

这似乎是一个持续存在的问题。我看到这张贴了几次,我尝试了人们提供的所有不同的解决方案。但没有什么对我有用。 当我运行它时,我的图表不会出现:(

这是我的ui.R

## ui.R
require('rCharts')
require('shiny')
require("quantmod")
require("TTR")
require("stringr")
require('lubridate')
options(RCHART_LIB = 'polycharts')

shinyUI(pageWithSidebar(
  headerPanel('test'),
  sidebarPanel(p('test')
  ),
  mainPanel(
    showOutput('graph',lib='polycharts')
  )
))

这是我的服务器.R

#Dependencies
require('rCharts')
require('shiny')
require("quantmod")
require("TTR")
require("stringr")
require('lubridate')

#functions
SYM<-function (x,loc='yahoo') {
  getSymbols(x,src=loc)
  return(get(x))}

data.setup<-function(data,loc='yahoo',start.date=Sys.Date()-months(1),
                     end.date=Sys.Date()) {
  getSymbols(data,src=loc)
  x<-as.data.frame(window(SYM(data,loc=loc),
                          start=as.character(start.date),
                          end=as.character(end.date)))
  x$dates<-row.names(x)
  return(return(x)) 
}

## server.r
shinyServer(function(input, output) {
  output$graph <- renderChart2({
    a<-data.setup('AAPL')  
    m1 <- mPlot(x = 'dates', y = c("AAPL.High", "AAPL.Low"), type = "Line", data = a)
    m1$set(dom = 'graph')
    return(m1)
  })
})

*我的主要问题是我无法理解showOutput功能的工作原理。 showOutput引用的lib是什么?我无法找到任何解释这一点的指南。 当谈到R的环境时,我仍然是一个新手。我非常感谢你的答案!

2 个答案:

答案 0 :(得分:4)

由于OP使用showOutputlib = "morris"行需要使用mPlot。有关库的完整列表,您可以看到README。或者,您也可以通过键入m1$lib来获取库的名称。

答案 1 :(得分:2)

这与评论中提到的一样。我只是在这里添加它,以便更容易找到其他人。

require('rCharts')
require('shiny')
require("quantmod")
require("TTR")
require("stringr")
require('lubridate')
options(RCHART_LIB = 'morris')

shinyUI(pageWithSidebar(
  headerPanel('test'),
  sidebarPanel(p('test')
  ),
  mainPanel(
    showOutput('graph',lib='morris')
  )
))

#Dependencies
require('rCharts')
require('shiny')
require("quantmod")
require("TTR")
require("stringr")
require('lubridate')

#functions
SYM<-function (x,loc='yahoo') {
  getSymbols(x,src=loc)
  return(get(x))}

data.setup<-function(data,loc='yahoo',start.date=Sys.Date()-months(1),
                     end.date=Sys.Date()) {
  getSymbols(data,src=loc)
  x<-as.data.frame(window(SYM(data,loc=loc),
                          start=as.character(start.date),
                          end=as.character(end.date)))
  x$dates<-row.names(x)
  return(return(x))
}

## server.r
shinyServer(function(input, output) {
  output$graph <- renderChart2({
    a<-data.setup('AAPL')
    m1 <- mPlot(x = 'dates', y = c("AAPL.High", "AAPL.Low"), type = "Line", data = a)
    return(m1)
  })
})