HighcharteR 未显示具有向下钻取级别的路径

问题描述 投票:0回答:1

我目前正在使用 R 中的 Highchart 创建钻取图。我一直在尝试以下示例代码:

library(highcharter)
library(dplyr)
library(purrr)

df <- tibble(
  name = c("Animals", "Fruits"),
  y = c(5, 2),
  drilldown = tolower(name)
)

df
#> # A tibble: 2 × 3
#>   name        y drilldown
#>   <chr>   <dbl> <chr>    
#> 1 Animals     5 animals  
#> 2 Fruits      2 fruits   

hc <- highchart() |>
  hc_title(text = "Basic drilldown") |>
  hc_xAxis(type = "category") |>
  hc_legend(enabled = FALSE) |>
  hc_plotOptions(
    series = list(
      boderWidth = 0,
      dataLabels = list(enabled = TRUE)
    )
  ) |>
  hc_add_series(
    data = df,
    type = "column",
    hcaes(name = name, y = y),
    name = "Things",
    colorByPoint = TRUE
  )

dfan <- data.frame(
  name = c("Cats", "Dogs", "Cows", "Sheep", "Pigs"),
  value = c(4, 3, 1, 2, 1)
)

dffru <- data.frame(
  name = c("Apple", "Organes"),
  value = c(4, 2)
)


dsan <- list_parse2(dfan)

dsfru <- list_parse2(dffru)

hc <- hc |>
  hc_drilldown(
    allowPointDrilldown = TRUE,
    series = list(
      list(
        id = "animals",
        data = dsan
      ),
      list(
        id = "fruits",
        data = dsfru
      )
    )
  )

hc

一切似乎都工作正常,除了一个问题:我无法根据需要在图表上显示向下钻取路径。

示例所需的结果:

实际结果:

任何帮助将不胜感激。

提前致谢。

r highcharts r-highcharter
1个回答
0
投票

问题是与您的 highcharter 一起安装的 javascript highcharts 版本。 Highcharter 的最新版本 -

0.9.4
正在使用 highcharts.js 版本
9.3.1

在 highcharts js 文档网站上,我们看到 drilldown.drillUpButton 已从 v

9.3.2
弃用,转而使用 drilldown.breadcrumbs

因此,我们在

0.9.4
版本上看到的是“向上钻取按钮”,而您想要的(以及您链接到的示例页面中显示的内容)是“面包屑”。

那么示例页面为什么使用面包屑呢?因为有 highcharter

0.9.4.9000
的开发版本(参见 changelog),它确实使用了 javascript highcharts 的 v
10.2.0
版本。

v0.9.4
中没有面包屑,您所能做的就是禁用向上钻取按钮(
drillUpButton = NULL
调用中的
hc_drilldown
)。所以唯一的解决办法就是将highcharter更新到dev版本。

您可以通过多种方式做到这一点。我用过

library(devtools)
install_dev('highcharter')

它建议它会自动更新其他几个软件包,包括

dplyr
,我接受了。

通过此更新,并且无需更改代码,面包屑将如示例页面所示显示。

© www.soinside.com 2019 - 2024. All rights reserved.