【问题标题】:developing interactive app using shiny and highcharter使用 Shiny 和 highcharter 开发交互式应用程序
【发布时间】:2019-01-12 06:15:43
【问题描述】:

我正在尝试使用闪亮的 R 制作一个简单的应用程序,该应用程序只有一个通过滑动条随给定参数变化的高图。 我浏览了网页,但没有任何清晰的教程或简单的示例可以将我的代码与它进行比较。 所以这是我的代码:

library(shiny)
library(highcharter)
library(dplyr)

sigene_all = read_csv("res/significant_genes.csv")

ui <- fluidPage(
  titlePanel("Interactive Heatmap"),
  sidebarLayout(
    sidebarPanel(sliderInput(inputId = "slider", label = "Number of Cancers", min = 1, max = 12, value = 9)),
    mainPanel(highchartOutput("heatmap"))
  )
)

server <- function(input, output) {
  output$heatmap <- renderChart({
    hchart(sigene_all %>% filter(count >= input$slider),
           type = "heatmap", hcaes(x = gene, y = cancer_type, value = sgnf), name = "sgnf") %>% 
      hc_add_theme(hc_theme_darkunica())
  })
}

shinyApp(ui = ui, server = server)

这是我在运行应用程序时遇到的错误:

警告:服务器错误:找不到函数“renderChart” 52:服务器 [<..>/CTI/app.R#23] 服务器错误(...):找不到函数“renderChart”

我一直在搜索,但没有找到任何相关内容。如果您能帮助我编写这个简单的代码,我将不胜感激。

【问题讨论】:

  • 我只是应该在服务器代码中使用 renderHighchart 而不是 renderChart。

标签: r highcharts shiny r-highcharter


【解决方案1】:

您需要使用 highcharter 包中的函数 renderHighchart() 而不是 renderChart() 来呈现图表。您的代码应如下所示:

library(shiny)
library(highcharter)
library(dplyr)

sigene_all = read_csv("res/significant_genes.csv")

ui <- fluidPage(
  titlePanel("Interactive Heatmap"),
  sidebarLayout(
    sidebarPanel(sliderInput(inputId = "slider", label = "Number of Cancers", min = 1, max = 12, value = 9)),
    mainPanel(highchartOutput("heatmap"))
  )
)

server <- function(input, output) {
  output$heatmap <- renderHighchart({
    hchart(sigene_all %>% filter(count >= input$slider),
           type = "heatmap", hcaes(x = gene, y = cancer_type, value = sgnf), name = "sgnf") %>% 
      hc_add_theme(hc_theme_darkunica())
  })
}

shinyApp(ui = ui, server = server)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    • 2017-01-04
    • 2022-12-01
    • 1970-01-01
    • 2010-12-06
    • 2023-03-15
    • 2020-11-08
    相关资源
    最近更新 更多