图表未使用 Shiny R 和 NVD3 呈现

Chart not rendering with Shiny R and NVD3

我一直在尝试使用 NVD3 库创建一个闪亮的时间序列图。我对 R、Shiny 和 NVD3 比较陌生。问题是当我 运行 ShinyApp 时,浏览器上没有图表呈现。使用 chrome 开发人员工具,我可以看到 myChart 的 div 已创建并填充了数据,但不明白为什么我看不到图表本身。

在此问题上提供任何帮助... 我的代码是这样的:

#ui.R
require(rCharts)

shinyUI(pageWithSidebar(
  headerPanel("Population Trend By Age Group:"),

  sidebarPanel(
    selectInput(inputId = "agegrp",
                label = "Choose Agegroup",
                choices = c("0-4",
                            "5-9",
                            "10-14",
                            "15-19",
                            "20-24",
                            "25-29",
                            "30-34",
                            "35-39",
                            "40-44",
                            "45-49",
                            "50-54",
                            "55-59",
                            "60-64",
                            "65-69",
                            "70-74",
                            "75-79",
                            "80-84",
                            "85+"
                ),
                selected = "0-4")
  ),
  mainPanel(
    showOutput("myChart", "nvd3")
  )
))

server.R:

#server.R
require(rCharts)

data <- read.csv("https://raw.githubusercontent.com/kilimba/data/master/data2.csv")
agegroup_mapping <- read.csv("https://raw.githubusercontent.com/kilimba/data/master/agegroup.csv")
data <- merge(data,agegroup_mapping,by.x="agegrp",by.y="agegroup")


shinyServer(function(input, output) {

  output$myChart <- renderChart({

    selection <- subset(data,mapping == input$agegrp)

    plot <- nPlot(n ~ year,
                  data = selection,
                  type = "lineChart",
                  group = "sex")
    # Add axis labels and format the tooltip
    plot$yAxis(axisLabel = "Population", width = 62)

    plot$xAxis(axisLabel = "Year")

    plot$save("ac.html")
    return(plot)    

  })
})

谢谢, 图迈尼

使用 renderChart2 而不是 renderChart

rm(list = ls())
library(shiny)
library(rCharts)

data <- read.csv("https://raw.githubusercontent.com/kilimba/data/master/data2.csv")
agegroup_mapping <- read.csv("https://raw.githubusercontent.com/kilimba/data/master/agegroup.csv")
data <- merge(data,agegroup_mapping,by.x="agegrp",by.y="agegroup")

ui =pageWithSidebar(
  headerPanel("Population Trend By Age Group:"),

  sidebarPanel(
    selectInput(inputId = "agegrp",
                label = "Choose Agegroup",
                choices = c("0-4","5-9","10-14","15-19","20-24","25-29","30-34","35-39",
                            "40-44","45-49","50-54","55-59","60-64","65-69","70-74","75-79","80-84","85+"),selected = "0-4"),width=2),
  mainPanel(
    showOutput("myChart", "nvd3")
  )
)

server = function(input, output) {

  output$myChart <- renderChart2({
    #selection <-  data[data$mapping == "0-4",]
    selection <- data[data$mapping == input$agegrp,]

    selection <- subset(data,mapping == input$agegrp)

    plot <- nPlot(n ~ year,
                  data = selection,
                  type = "lineChart",
                  group = "sex")
    # Add axis labels and format the tooltip
    plot$yAxis(axisLabel = "Population", width = 62)
    plot$xAxis(axisLabel = "Year")
    plot$set(width=1600, height=800)

    plot$save("ac.html")
    plot
  })
}


runApp(list(ui = ui, server = server))