无法在闪亮的UI中显示chart.js图表

时间:2018-11-27 19:05:47

标签: r shiny chart.js

我正在将chartjs软件包集成到我的Shiny应用程序中,一切都很好。。。。。。。。。。。。。。。。。。。。。。。。它们将仅在控制台查看器中呈现。我已经尽量简化代码以寻求帮助。

library(shinydashboard)
library(shiny)
library(plotly)
library(lubridate)
library(rmarkdown)
library(htmltools)
library(zoo)
library(dygraphs)
library(xts)
library(DBI)
library(RODBC)
library(ggplot2)
library(dplyr)
library(data.table)
library(devtools)
library(chartjs)



ui <- fluidPage(
tags$body(
  plotOutput("plot"))
)
server <- function(input, output) {
  output$plot <-renderPlot({
    chartjs(mtcars, mpg, qsec, labels = row.names(mtcars)) %>% 
      cjsBar
    })
}
shinyApp(ui = ui, server = server)

您可以看到我正在使用预定义的数据集,因此数据应该没有问题。我可能还安装了一些额外的库。

或者,我尝试四处移动并收到相同的结果:

#All libraries
 testplot <- function(){
  chartjs(mtcars, mpg, qsec, labels = row.names(mtcars)) %>% 
    cjsBar
} 

ui <- fluidPage(
tags$body(
  plotOutput("plot"))


)
server <- function(input, output) {
  output$plot <-renderPlot({
    testplot()
    })
}
shinyApp(ui = ui, server = server)

1 个答案:

答案 0 :(得分:0)

好吧,由于我不知道的原因,我在输出和渲染时使用了错误的绘图命令。正确的解决方案是:

testplot <- function(){
  chartjs(mtcars, mpg, qsec, labels = row.names(mtcars)) %>% 
    cjsBar
} 

ui <- fluidPage(
  tags$body(
    chartjsOutput("plot"))


)
server <- function(input, output) {
  output$plot <-renderChartjs({
    testplot()
  })
}
shinyApp(ui = ui, server = server)