Метод HighCharter HCAES не производит визуализацию в R Shiny Dashboard - PullRequest
0 голосов
/ 20 марта 2019

Попытка построения из стека Exchange Вопрос: R Highcharter: настройка всплывающей подсказки

Есть модуль R (ниже).Это поглощает некоторые данные и предоставляет пользовательский интерфейс, включая визуализации с высокими значениями.

consolidatedlogModuleUI <- function(id){

  ns <- NS(id)

 tagList(

fluidRow(
  bs4Card(highchartOutput(ns("fundedbydayChart")),
         width = 12,
         collapsible = TRUE)
),
fluidRow(
  bs4TabCard(title = "Consolidated Log",
             elevation = 2,
             width = 12,
             bs4TabPanel(
               tabName = "tab1",
               active = TRUE,
               DT::dataTableOutput(ns("consolidatedlogTable"))
             ),
             bs4TabPanel(
               tabName = "tab2",
               active = FALSE,
               DT::dataTableOutput(ns("daysummaryTable"))
             )
  )
)

)


}


#######
# Consolidated Log Server Module
#######

consolidatedlogModule <- function(input,output,session,data){

  ns <- session$ns

 data$HasGap <- ifelse(data$GAPGrossRevenue > 0, 1, 0)
 data$HasESC <- ifelse(data$ESCGrossRevenue > 0, 1, 0)  

 consolidatedLogVariables <- c("AcctID", "FSR", "DocSentDate",       "DocsToLenderDate",
                       "FundedDate", "HasGap", "HasESC", "LoanRevenue")

 logSummary <- data %>%
group_by(FundedMonthGroup) %>%
summarise(TotalCount = n()
          , TotalAmount = sum(LoanRevenue)
          , TotalGAP = sum(HasGap)
          , TotalESC = sum(HasESC))

  daySummary <- data %>%
group_by(FundedDayGroup) %>%
summarise(TotalCount = n()
          ,TotalAmount = sum(LoanRevenue))







  ### Consolidated Log Table
  output$consolidatedlogTable = DT::renderDataTable({

   data[consolidatedLogVariables]

 }, extensions = "Responsive", rownames = FALSE,
 caption = "Current Consolidated Log",
 filter = "bottom"
 )

 output$daysummaryTable = DT::renderDataTable({
   daySummary

  }, extensions = "Responsive", rownames = FALSE,
 caption = "Current Consolidated Log",
 filter = "bottom"
 )

 ### Charts

 #Fundedbyday Chart
 output$fundedbydayChart = renderHighchart({

   highchart() %>%
  hc_add_theme(hc_theme_ffx()) %>%
  hc_title(text = "Loans Funded By Day") %>%
  hc_add_series(data = daySummary, mapping = hcaes(x=FundedDayGroup, y=TotalAmount), type = "column", name = "Daily Loan Revenue",
                tooltip = list(pointFormat = "Daily Revenue ${point.TotalAmount} across {point.TotalCount} deals")) %>%
  hc_tooltip(crosshairs = TRUE)

# highchart() %>%
#   hc_add_theme(hc_theme_ffx()) %>%
#   hc_title(text = "Loans Funded By Day") %>%
#   hc_add_series(daySummary$TotalAmount, type = "column", name = "Daily Loan Revenue",
#                 tooltip = list(pointFormat = "Daily Revenue ${point.TotalAmount} across {point.TotalCount} deals")) %>%
#   hc_tooltip()

#hchart(daySummary, "column", hcaes(daySummary$FundedDayGroup, daySummary$TotalAmount))

 })


}

Функция закомментированных highChart правильно работает при отображении нужных столбцов.Ось неверна, и всплывающие подсказки не отформатированы, но отображаются данные.

При использовании некомментированной старшей диаграммы с вызовом HCAES и другими элементами график отображается без каких-либо данных.

Ниже приведенокод для воспроизведения набора тестовых данных для daySummary, рассматриваемого кадра данных.

FundedDayGroup <- as.Date(c('2019-02-01', '2019-02-4', '2019-02-05'))
TotalCount <- c(1,13,18)
TotalAmount <- c(0, 13166, 15625)
daySummary <- data.frame(FundedDayGroup, TotalCount, TotalAmount)

1 Ответ

0 голосов
/ 22 марта 2019

В итоге проблема заключалась в том, что Highcharter не интерпретировал формат дат POSIXct и не нуждался в преобразовании переменной даты с использованием as.Date.Дополнительно добавлена ​​логика для обработки xAxis и установки даты и времени.Код ниже

highchart() %>%
  hc_add_theme(hc_theme_ffx()) %>%
  hc_title(text = "Loans Funded By Day") %>%
  hc_add_series(data = daySummary, mapping = hcaes(x=as.Date(FundedDayGroup), y=TotalAmount), type = "column", name = "Daily Loan Revenue",
                tooltip = list(pointFormat = "Daily Revenue ${point.TotalAmount} across {point.TotalCount} deals")) %>%
  hc_xAxis(type = "datetime", labels=list(rotation = -45, y = 40) ) %>%
  hc_yAxis(title=list(text = "Revenue")) %>%
  hc_tooltip(crosshairs = TRUE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...