【问题标题】:R HighCharter - No Data To DisplayR HighCharter - 没有要显示的数据
【发布时间】:2019-05-05 11:12:33
【问题描述】:

全部,尝试使用 highchart() 函数结合 add_series-list 构建堆积柱形图。使用:Highcharter stacked column groupings not using hchart()

大多数情况下,但是当我运行 highcharter 代码时,我最终得到的情节是: 正确的主题、正确的标题和 OrderTypes 似乎被考虑在内。但是,我以没有要显示的数据结束。试图简化并删除第二个列表。这是我所拥有的:

orderTypeBar <- monthSummary %>%
  group_by(OrderType) %>%
  do(monthSummary = list_parse2(.[, c('monthGroup', 'Total')])) %>%
  rename(name = OrderType) %>%
  mutate(OrderType = 'column') %>%
  list_parse()

highchart() %>%
  hc_add_theme(hc_theme_ffx()) %>%
  hc_title(text = "Revenue By Order Type") %>%
  hc_add_series_list(orderTypeBar) %>%
  hc_xAxis(categories = monthSummary$monthGroup) %>%
  hc_plotOptions(series=list(stacking='normal'))

摘要表是使用以下 dplyr 转换构建的。

monthSummary <- data %>%
  group_by(monthGroup, OrderType) %>%
  summarise(CustomerNumber = n()
            , SalesFulfilled = sum(Fulfilled)
            , SalesFreight = sum(Freight)
            , SalesTax = sum(Tax)
            , ServiceLabor = sum(LaborAmount)
            , ServiceMaterials = sum(MaterialCost)
            , Total = sum(Total)) %>%
  ungroup()

绘图结果: Plot - Empty Data

生成数据子集的代码:

test <- tibble::tribble(
    ~monthGroup,     ~OrderType, ~TransActionCount, ~SalesFulfilled, ~SalesFreight, ~SalesTax, ~ServiceLabor, ~ServiceMaterials,   ~Total,
    "2017-01",       "Credit",                4L,            -189,             0,      -3.6,             0,                 0,   -192.6,
    "2017-01",    "Equipment",                9L,           12286,             0,    250.66,             0,                 0, 12536.66,
    "2017-01",   "Networking",                2L,             9.9,             0,         0,             0,                 0,      9.9,
    "2017-01",   "Part Order",                2L,             658,             0,     39.48,             0,                 0,   697.48,
    "2017-01", "Service Call",              190L,               0,             0,         0,       9523.62,            2287.9, 12269.38,
    "2017-01",       "Supply",               76L,        26682.18,             5,   1274.05,             0,                 0, 24639.73
)

【问题讨论】:

  • 您能否通过分享您的数据样本来重现您的问题,以便其他人可以提供帮助(请不要使用str()head() 或屏幕截图)?你可以使用reprexdatapasta 包来帮助你。另见Help me Help you & How to make a great R reproducible example?
  • 是的。很抱歉最初没有添加。我添加了一个 sn-p,它将生成 monthSummary 数据框的子集。

标签: r r-highcharter


【解决方案1】:

你需要type = 'column'hc_xAxis(categories = test$monthGroup)

library(tidyverse)
library(highcharter)

test <- tibble::tribble(
  ~monthGroup,     ~OrderType, ~TransActionCount, ~SalesFulfilled, ~SalesFreight, ~SalesTax, ~ServiceLabor, ~ServiceMaterials,   ~Total,
  "2017-01",       "Credit",                4L,            -189,             0,      -3.6,             0,                 0,   -192.6,
  "2017-01",    "Equipment",                9L,           12286,             0,    250.66,             0,                 0, 12536.66,
  "2017-01",   "Networking",                2L,             9.9,             0,         0,             0,                 0,      9.9,
  "2017-01",   "Part Order",                2L,             658,             0,     39.48,             0,                 0,   697.48,
  "2017-01", "Service Call",              190L,               0,             0,         0,       9523.62,            2287.9, 12269.38,
  "2017-01",       "Supply",               76L,        26682.18,             5,   1274.05,             0,                 0, 24639.73
)

orderTypeBar <- test %>%
  group_by(OrderType) %>%
  do(data = list_parse2(.[, c('monthGroup', 'Total')])) %>%
  rename(name = OrderType) %>% 
  mutate(type = 'column') %>% 
  list_parse()

highchart() %>%
  hc_xAxis(categories = test$monthGroup) %>%
  hc_add_series_list(orderTypeBar) %>% 
  hc_add_theme(hc_theme_ffx()) %>%
  hc_title(text = "Revenue By Order Type") %>%
  hc_plotOptions(column = list(
    dataLabels = list(enabled = TRUE),
    stacking = "normal",
    enableMouseTracking = TRUE))

【讨论】:

  • 董,工作就像一个魅力。认为该列是由 orderTypeBar 组件设置的,需要深入研究。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2017-01-05
  • 1970-01-01
  • 2019-07-14
  • 1970-01-01
  • 1970-01-01
  • 2020-03-29
  • 2021-09-07
  • 1970-01-01
相关资源
最近更新 更多