要创建带有子类别的分组柱状图,你可以使用AmCharts库来实现。以下是一个包含代码示例的解决方法:
// 创建数据
var chartData = [{
"category": "类别1",
"subCategory": "子类别1",
"value": 10
}, {
"category": "类别1",
"subCategory": "子类别2",
"value": 15
}, {
"category": "类别2",
"subCategory": "子类别1",
"value": 5
}, {
"category": "类别2",
"subCategory": "子类别2",
"value": 8
}];
// 创建图表实例
var chart = am4core.create("chartdiv", am4charts.XYChart);
// 设置数据
chart.data = chartData;
// 创建类别坐标轴
var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());
categoryAxis.dataFields.category = "category";
categoryAxis.renderer.grid.template.location = 0;
categoryAxis.renderer.minGridDistance = 30;
// 创建值坐标轴
var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());
// 创建柱状图系列
var series = chart.series.push(new am4charts.ColumnSeries());
series.dataFields.categoryX = "category";
series.dataFields.valueY = "value";
series.dataFields.subCategoryX = "subCategory";
series.columns.template.tooltipText = "{subCategory}: [bold]{valueY}[/]";
// 创建图例
chart.legend = new am4charts.Legend();
// 应用主题
chart.theme = am4themes_animated;
这样,你就创建了一个带有子类别的分组柱状图。你可以根据需要自定义图表的外观和交互性。