我目前正在使用 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
一切似乎都工作正常,除了一个问题:我无法根据需要在图表上显示向下钻取路径。
此示例所需的结果:
实际结果:
任何帮助将不胜感激。
提前致谢。
问题是与您的 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
,我接受了。
通过此更新,并且无需更改代码,面包屑将如示例页面所示显示。