Фрейм данных только с 1 строкой не может отображать 3D-панель, тогда как фрейм данных с более чем одной строкой может отображать 3D-бары

#r

#r

Вопрос:

Я пытаюсь создать 3D-гистограмму с highcharter с отображением метки по оси z и метки по оси x. Но когда мой фрейм данных имеет только одну строку, на диаграмме не отображаются столбцы. Если фрейм данных состоит из более чем одной строки, он отображается правильно.

Я хочу иметь возможность отображать 1 строку из фрейма данных также на диаграмме.

Ниже приведен воспроизводимый пример:

 library(shiny)
library(highcharter)

shinyApp(
  
  ui <- fluidPage(
    fluidRow(
      highchartOutput('chart')
    )
  ),
  
  server <- function(input, output, session) {
    
    df <- data.frame(
      Z1 = c(1, 2, 1, 4),
      Z2 = c(2, 3, 2, 7),
      Z3 = c(6, 3, 7, 4),
      Z4 = c(3, 4, 1, 5)
    )
    
    df <- df[-(1:3),] #reduced dataframe to 1 row
    
    
    dta <- lapply(seq(ncol(df)), function(x) {
      list(
        name = colnames(df)[x], 
        data = df[, x]
      ) 
    })
    
    output$chart <- renderHighchart({
      
      highchart() %>%
        hc_chart(
          type = "column", 
          options3d = list(
            enabled = TRUE,
            beta = 20,
            alpha = 30,
            depth = 400,
            viewDistance = 10
          )
        ) %>%
        hc_xAxis(categories = row.names(df[1:nrow(df)-1,])) %>%
        hc_zAxis(
          min = 0,
          max = 3,
          categories = colnames(df)
        ) %>%
        hc_plotOptions(
          series = list(
            depth = 100,
            grouping = FALSE,
            groupZpadding = 10
          )
        ) %>%
        hc_add_series_list(dta)
    })
  })