highcharts - Highcharts Multiple Series Drilldown to Multiple Series - 仅适用于该系列中的最后一组
问题描述
我可能在做一些愚蠢的事情,但没有发现我的错误。
我的主图表显示了三种产品中每一种的员工人数的年增长率。深入研究任何产品都应该向我展示该产品中每种工作类型的员工人数增长情况。
向下钻取有效,但仅适用于产品 C。它不适用于前两组(产品 A 和 B)。
这是我的 jFiddle:https ://jsfiddle.net/rufustfirefly/mzc6Lvsw/1/
下面的代码:
Highcharts.chart('container', {
chart: {
type: 'column'
},
title: {
text: 'Headcount By Product'
},
subtitle: {
text: '2017 - 2021'
},
accessibility: {
announceNewData: {
enabled: true
}
},
xAxis: {
type: "category",
crosshair: true
},
yAxis: {
title: {
text: 'Headcount'
}
},
legend: {
enabled: true
},
plotOptions: {
series: {
borderWidth: 0,
dataLabels: {
enabled: false,
format: '{point.y:.0f}'
}
}
},
tooltip: {
headerFormat: '<span style="font-size:11px">{point.key}</span><br>',
pointFormat: '<span style="color:{point.color}">{series.name}</span>: <b>{point.y:.0f}</b><br/>',
shared: true,
useHTML: true
},
series: [
{
name: "2017",
colorByPoint: false,
data: [
{
name: "Product A",
y: 3,
drilldown: "Product A 2017"
},
{
name: "Product B",
y: 3,
drilldown: "Product B 2017"
},
{
name: "Product C",
y: 4,
drilldown: "Product C 2017"
}
]
},
{
name: "2018",
colorByPoint: false,
data: [
{
name: "Product A",
y: 9,
drilldown: "Product A 2018"
},
{
name: "Product B",
y: 11,
drilldown: "Product B 2018"
},
{
name: "Product C",
y: 15,
drilldown: "Product C 2018"
}
]
},
{
name: "2019",
colorByPoint: false,
data: [
{
name: "Product A",
y: 15,
drilldown: "Product A 2019"
},
{
name: "Product B",
y: 15,
drilldown: "Product B 2019"
},
{
name: "Product C",
y: 15,
drilldown: "Product C 2019"
}
]
},
{
name: "2020",
colorByPoint: false,
data: [
{
name: "Product A",
y: 19,
drilldown: "Product A 2020"
},
{
name: "Product B",
y: 15,
drilldown: "Product B 2020"
},
{
name: "Product C",
y: 16,
drilldown: "Product C 2020"
}
]
},
{
name: "2021",
colorByPoint: false,
data: [
{
name: "Product A",
y: 19,
drilldown: "Product A 2021"
},
{
name: "Product B",
y: 15,
drilldown: "Product B 2021"
},
{
name: "Product C",
y: 16,
drilldown: "Product C 2021"
}
]
}
],
drilldown: {
allowPointDrilldown: false,
series: [
{
name: "2017",
id: "Product A 2017",
data: [
["Product Manager",1],
["Business Analyst",0],
["Developer",1],
["QE",1 ]
],
id: "Product B 2017",
data: [
["Product Manager",1],
["Business Analyst",0],
["Developer",1],
["QE",0 ]
],
id: "Product C 2017",
data: [
["Product Manager",1],
["Business Analyst",1],
["Developer",1],
["QE",1 ]
]
},
{
name: "2018",
id: "Product A 2018",
data: [
["Product Manager",1],
["Business Analyst",2],
["Developer",4],
["QE",2 ]
],
id: "Product B 2018",
data: [
["Product Manager",1],
["Business Analyst",1],
["Developer",6],
["QE",3 ]
],
id: "Product C 2018",
data: [
["Product Manager",1],
["Business Analyst",2],
["Developer",8],
["QE",4 ]
]
},
{
name: "2019",
id: "Product A 2019",
data: [
["Product Manager",1],
["Business Analyst",2],
["Developer",8],
["QE",4 ]
],
id: "Product B 2019",
data: [
["Product Manager",1],
["Business Analyst",2],
["Developer",8],
["QE",4 ]
],
id: "Product C 2019",
data: [
["Product Manager",1],
["Business Analyst",3],
["Developer",8],
["QE",3 ]
]
},
{
name: "2020",
id: "Product A 2020",
data: [
["Product Manager",1],
["Business Analyst",2],
["Developer",10],
["QE",6 ]
],
id: "Product B 2020",
data: [
["Product Manager",1],
["Business Analyst",2],
["Developer",8],
["QE",4 ]
],
id: "Product C 2020",
data: [
["Product Manager",1],
["Business Analyst",3],
["Developer",8],
["QE",4 ]
]
},
{
name: "2021",
id: "Product A 2021",
data: [
["Product Manager",1],
["Business Analyst",2],
["Developer",10],
["QE",6 ]
],
id: "Product B 2021",
data: [
["Product Manager",1],
["Business Analyst",2],
["Developer",8],
["QE",4 ]
],
id: "Product C 2021",
data: [
["Product Manager",1],
["Business Analyst",3],
["Developer",8],
["QE",4 ]
]
}
]
}
});
解决方案
您需要将每个向下钻取系列定义为单独的系列对象:
{
name: "2017",
id: "Product A 2017",
data: [
["Product Manager",1],
["Business Analyst",0],
["Developer",1],
["QE",1 ]
],
id: "Product B 2017",
data: [
["Product Manager",1],
["Business Analyst",0],
["Developer",1],
["QE",0 ]
],
id: "Product C 2017",
data: [
["Product Manager",1],
["Business Analyst",1],
["Developer",1],
["QE",1 ]
]
},
转换为:
{
name: "2017",
id: "Product A 2017",
data: [
["Product Manager", 1],
["Business Analyst", 0],
["Developer", 1],
["QE", 1]
],
},
{
id: "Product B 2017",
data: [
["Product Manager", 1],
["Business Analyst", 0],
["Developer", 1],
["QE", 0]
],
}, {
id: "Product C 2017",
data: [
["Product Manager", 1],
["Business Analyst", 1],
["Developer", 1],
["QE", 1]
]
}
推荐阅读
- c# - 无法将具有现有 ID 的项目添加到数据库
- ios - 如何以编程方式设置内容拥抱和压缩
- vue-cli-4 - Vue 给我一个关于未提交更改的警告
- swiftui - 停止 swiftUI 动画并跳转到目标值
- json - 如何在 Spring Boot 应用程序中使用 Apache Camel 使用 json 模式验证消息体
- azure - 如何获取用于 CI/CD 部署的 Azure 密钥保管库机密 URI?
- python - 在搜索引擎中使用 ScikitLearn TfidfVectorizer
- java - 基于 Spring Security XML 的配置:java.lang.IllegalArgumentException:没有为 id“null”映射 PasswordEncoder
- r - 如何通过使用'fileInput'函数来绘制ggplot来提供上传的数据?
- php - 我如何将我的日期导入数据库 incule \ 和,?