#javascript #charts #highcharts #data-visualization
#javascript #Диаграммы #highcharts #визуализация данных
Вопрос:
Здесь я использую базовый пример столбчатой диаграммы:
Пример Highchart из JSFiddle через HC docs
Это нормально для одной серии xAxis, но мне нужна одна с двойной группировкой, например:
У меня есть следующий код скрипта HC:
Highcharts.chart('container', {
chart: {
type: 'column'
},
title: {
text: 'Monthly Average Rainfall'
},
subtitle: {
text: 'Source: WorldClimate.com'
},
xAxis: {
categories: [
['Jan', '2020'],
['Feb', '2020']
],
crosshair: true
},
yAxis: {
min: 0,
title: {
text: 'Rainfall (mm)'
}
},
tooltip: {
headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>'
'<td style="padding:0"><b>{point.y:.1f} mm</b></td></tr>',
footerFormat: '</table>',
shared: true,
useHTML: true
},
plotOptions: {
column: {
pointPadding: 0.2,
borderWidth: 0
}
},
series: [{
name: 'Tokyo',
data: [[49.9, 2020], [71.5, 2020]]
}, {
name: 'New York',
data: [[83.6, 2020], [78.8, 2020]]
}]
});
Мне нужно найти способ заставить это работать. Я могу использовать другие библиотеки построения диаграмм JS, если они будут проще, поскольку я исследую их кучу.
Ответ №1:
Я думаю, что grouped categories highcharts module
в этом случае вы можете использовать.
Документы: https://github.com/blacklabel/grouped_categories
Highcharts.chart('container', {
chart: {
type: "column"
},
series: [{
data: [4, 14, 18, 5, 6, 5]
}, {
data: [4, 14, 18, 5, 6, 5].reverse()
}],
xAxis: {
categories: [{
name: "2020",
categories: ["Apple", "Banana", "Orange"]
}, {
name: "2021",
categories: ["Carrot", "Potato", "Tomato"]
}]
}
});
Демонстрация: https://jsfiddle.net/BlackLabel/tzkq2hjp /