提问人:Raheel Aslam 提问时间:11/14/2023 更新时间:11/14/2023 访问量:32
如何使用 highchart 对每个组求和并在每个组的左侧添加一个条形图
How can do sum each group and add a bar in the left of each group using highchart
问:
我正在使用此脚本来显示每个组的总和并添加新条,但它不起作用。 我已经尝试了很多次,但没有工作。
let seriesSumArr = [230, 230, 230];
const seriesData = [
{
"data": [
100,
100,
100
],
"name": "April"
},
{
"data": [
50,
50,
50
],
"name": "May"
},
{
"data": [
80,
80,
80
],
"name": "Jun"
}
];
// Calculate the sum for each group
let sums = seriesData.map(series => series.data.reduce((acc, val) => acc + val, 0));
// Add the sum bars to the left side of each group
seriesData.forEach((series, index) => {
series.data.unshift(seriesSumArr[index]);
});
Highcharts.chart('container', {
chart: {
type: 'column'
},
title: {
text: 'Monthly Average Rainfall'
},
series: seriesData
});
请检查不起作用的示例。https://jsfiddle.net/xduq6hsv/5/
谢谢
答:
1赞
Michał
11/14/2023
#1
例如,您可以在数组上使用该方法对这些点求和,然后将其作为另一个系列传递。forEach()
const seriesData = [{
name: 'April',
data: [
110,
100,
120
]
}, {
name: 'May',
data: [
50,
60
]
}, {
name: 'Jun',
data: [
70,
80,
90
]
}];
const sumData = []
seriesData.forEach((_, i) => {
let sum = 0;
seriesData.forEach((series) => {
const y = series.data[i];
if (y) sum += series.data[i]
})
sumData.push(sum)
});
Highcharts.chart('container', {
chart: {
type: 'column',
},
xAxis: {
categories: seriesData.map(series => series.name),
},
series: [{
name: 'Sum',
data: sumData,
color: {
pattern: {
color: 'blue',
path: {
d: 'M 0 2 L 5 2 M 0 4 L 5 4',
strokeWidth: 1
},
width: 5,
height: 5,
opacity: 0.5
}
}
}, ...seriesData]
});
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/accessibility.js"></script>
<script src="https://code.highcharts.com/modules/pattern-fill.js"></script>
<div id="container"></div>
演示:https://jsfiddle.net/BlackLabel/u5c28m7s/
评论
0赞
Raheel Aslam
11/14/2023
谢谢,我们可以把它变成所有系列组的总和,并在图表的左侧添加新的条形图吗?
0赞
Raheel Aslam
11/14/2023
你能举个例子吗?
0赞
Michał
11/17/2023
您可以将所有组的总和添加为一个序列,在单独的 X 轴上,您可以使用 和 属性将其设置为绘图宽度的一部分,以便该点位于中间并且看起来与其余点相似:jsfiddle.net/BlackLabel/8150bwgnpointPadding
groupPadding
centerInCategory
评论