highcharter图的动态数量

highcharter图的动态数量,r,highcharts,shiny,R,Highcharts,Shiny,下面我将根据不同的参数(如数据框列)绘制多个图形。因此,情况是,每天要做的绘图数量都会有所不同 我修改了代码,使用Highcharter来获取javascript图表,而不是基本绘图,但它不起作用 另外,我想知道我必须添加什么到这个代码中,以在2、3或4列中绘制图表 谢谢 ui.R fluidPage( # Application title titlePanel("Hello World!"), # Show a plot fluidRow( column

下面我将根据不同的参数(如数据框列)绘制多个图形。因此,情况是,每天要做的绘图数量都会有所不同

我修改了代码,使用Highcharter来获取javascript图表,而不是基本绘图,但它不起作用

另外,我想知道我必须添加什么到这个代码中,以在2、3或4列中绘制图表

谢谢

ui.R

fluidPage(
  # Application title
  titlePanel("Hello World!"),

  # Show a plot
  fluidRow(      
    column(width = 6,
           highchartOutput("hcontainer", height = "400px")
    ) 
  )
)
get_plot_output_list <- function() {
    plot_output_list <- lapply(1:NCOL(df), FUN = function(i) {
      plot_output_object <- highchartOutput("hcontainer")
      plot_output_object <- renderHighchart({
        hc <- highchart() %>%
          hc_add_serie(name = "df name", data = df)
        return(hc)
      })
    })
    do.call(tagList, plot_output_list) # needed to display properly.
    return(plot_output_list)
  }

observe({
    output$hcontainer <- renderUI({ get_plot_output_list() })
    #output$hcontainer <- renderHighchart({ get_plot_output_list() })
  })
server.R

fluidPage(
  # Application title
  titlePanel("Hello World!"),

  # Show a plot
  fluidRow(      
    column(width = 6,
           highchartOutput("hcontainer", height = "400px")
    ) 
  )
)
get_plot_output_list <- function() {
    plot_output_list <- lapply(1:NCOL(df), FUN = function(i) {
      plot_output_object <- highchartOutput("hcontainer")
      plot_output_object <- renderHighchart({
        hc <- highchart() %>%
          hc_add_serie(name = "df name", data = df)
        return(hc)
      })
    })
    do.call(tagList, plot_output_list) # needed to display properly.
    return(plot_output_list)
  }

observe({
    output$hcontainer <- renderUI({ get_plot_output_list() })
    #output$hcontainer <- renderHighchart({ get_plot_output_list() })
  })

get\u plot\u output\u list您好,您可以尝试此解决方案,它使用的函数与您的不同,而是@jenesaisquoi(找到)的一个函数,此函数可创建多个绘图并正确处理布局:

# Packages
library("highcharter")
library("shiny")

# data
df <- data.frame(
  var1 = rnorm(10),
  var2 = rnorm(10),
  var3 = rnorm(10),
  var4 = rnorm(10),
  var5 = rnorm(10),
  var6 = rnorm(10),
  var7 = rnorm(10)
)

# Fun by @jenesaisquoi (modified with highchartOutput)
makePlotContainers <- function(n, ncol=2, prefix="plot", height=100, width="100%", ...) {
  ## Validate inputs
  validateCssUnit(width)
  validateCssUnit(height)

  ## Construct plotOutputs
  lst <- lapply(seq.int(n), function(i)
    highchartOutput(sprintf('%s%g', prefix, i), height=height, width=width))

  ## Make columns
  lst <- lapply(split(lst, (seq.int(n)-1)%/%ncol), function(x) column(12/ncol, x))
  do.call(tagList, lst)
}

在我的例子中,我有两个文件ui.R和server.R。在本例中,我使用global.R在两个部分中共享相同的数据集。