我正在开发一个闪亮的应用程序,在与rCharts集成时遇到了困难。我用数据库"Cars93“制作了一个简单的应用程序,每个人都可以访问这个应用程序来说明我的问题。
我在应用程序中放了一个表格和一个图表,这个表格只是用来测试数据是否正确。
我的问题是图表没有出现。
提前感谢!
路易斯
ui.R
library(shiny)
library(MASS)
require(rCharts)
options(RCHART_LIB = 'polycharts')
mydata<-Cars93
shinyUI(pageWithSidebar(
headerPanel('RCharts - Test'),
sidebarPanel(
selectInput("Manufacturer2", "Select a Manufacturer", levels(droplevels(mydata$Manufacturer)),
selected = "Acura"
),
selectInput("Type2", "Select a Type", levels(droplevels(mydata$Type))[3:4],selected = levels(droplevels(mydata$Type))[3]
),
width = 3
),
mainPanel(
tabsetPanel(
tabPanel("Table",dataTableOutput('mytable')),
tabPanel("Chart",showOutput('myplot', 'polycharts'))
)
))
)server.R
library(shiny)
library(rCharts)
library(MASS)
options(RCHART_WIDTH = 800)
mydata<-Cars93
data2<-Cars93
shinyServer(function(input, output, session) {
observe({
updateSelectInput(session, "Type2", choices = levels(droplevels(mydata$Type[mydata$Manufacturer %in% input$Manufacturer2])),selected = levels(droplevels(mydata$Type[mydata$Manufacturer %in% input$Manufacturer2]))[1]
)
})
output$mytable = renderDataTable({
MANUFACTURER = input$Manufacturer2
TYPE = input$Type2
mydata<- mydata[mydata$Manufacturer %in% MANUFACTURER & mydata$Type %in% TYPE,]
mydata<-mydata[,c("Manufacturer","Type","Model","Weight")]
mydata
})
output$myplot<- renderChart({
MANUFACTURER = input$Manufacturer2
TYPE = input$Type2
mydata<- mydata[mydata$Manufacturer %in% MANUFACTURER & mydata$Type %in% TYPE,]
p1<-rPlot(Weight ~ Model, color = 'Model', data = mydata, type = 'bar')
p1$guides(
color = list(
numticks = length(factor(mydata$Model))
),
y = list(
min = 0,
max = 10
)
)
return(p1)
})
})发布于 2014-09-12 18:33:05
如果在服务器功能中使用renderChart,则需要设置dom
p1$set(dom = "myplot")其中dom的值应该与output从renderChart分配的值相同。
或者,可以使用一个方便的renderChart2来代替renderChart,然后不需要设置dom。
https://stackoverflow.com/questions/25814245
复制相似问题