同一张图中的两个馅饼 - Highcharter

Two pies in the same graph - Highcharter

我试图在同一个图表中重现 following example 两个饼图,但没有成功。下面的示例代码。有谁知道如何在 highcharter 的同一个图表中创建两个图表?

df = tibble(name = c("a","b","c"),
        a1 = c(10,12,11),
        a2 = c(22,23,22))
highchart() %>%
hc_chart(renderTo = "container", type = "pie") %>%
hc_add_series(df, hcaes(name, a1), size = 100, center = c(30,10)) %>%
hc_add_series(df, hcaes(name, a2), size = 100, center = c(10,30)) 

我最初认为它应该根据您上面的代码由 center 参数控制(但没有像您指出的那样工作)。

一个解决方法是:

highchart() %>% 
hc_add_series(type = "pie", data = df, hcaes(name, a1),size = 100, name = "test1", center = c(0, 0)) %>%
hc_add_series(type = "pie", data = df, hcaes(name, a2),size = 100, name = "test2") %>%
hc_plotOptions(pie = list(center = c(700,450)))

您需要第一个系列中的 center 参数,尽管它除了修复第一个馅饼外没有做任何其他事情(更改 c(0, 0) 实际上并没有改变馅饼的位置) 然后使用hc_plotOptions来控制第二个饼图的位置。

可能的解决方案

highcharter::hw_grid(
  hchart(df, type = "pie", mapping = hcaes(name, a1))
  ,
  hchart(df, type = "pie", mapping = hcaes(name, a2))
) %>% htmltools::browsable()