要解决这个问题,可以使用 Amcharts 的 percentWidth 属性来设置每个 ColumnSeries 在 x 轴上所占的宽度百分比。这样可以确保所有 ColumnSeries 充分利用可用的 x 轴宽度。
以下是一个示例代码,其中包含两个横向堆叠的 ColumnSeries:
var chart = am4core.create("chartdiv", am4charts.XYChart);
// 设置 x 轴
var xAxis = chart.xAxes.push(new am4charts.CategoryAxis());
xAxis.dataFields.category = "category";
xAxis.renderer.grid.template.location = 0;
// 设置 y 轴
var yAxis = chart.yAxes.push(new am4charts.ValueAxis());
// 创建第一个 ColumnSeries,并设置其 percentWidth 为 50%
var series1 = chart.series.push(new am4charts.ColumnSeries());
series1.dataFields.valueY = "value1";
series1.dataFields.categoryX = "category";
series1.name = "Series 1";
series1.columns.template.width = am4core.percent(50);
// 创建第二个 ColumnSeries,并设置其 percentWidth 为 50%
var series2 = chart.series.push(new am4charts.ColumnSeries());
series2.dataFields.valueY = "value2";
series2.dataFields.categoryX = "category";
series2.name = "Series 2";
series2.columns.template.width = am4core.percent(50);
// 添加数据
chart.data = [{
"category": "Category 1",
"value1": 10,
"value2": 15
}, {
"category": "Category 2",
"value1": 20,
"value2": 25
}, {
"category": "Category 3",
"value1": 15,
"value2": 10
}];
在上面的代码中,我们将 series1 和 series2 的 columns.template.width 属性都设置为 am4core.percent(50),这意味着它们占据了
上一篇:Amcharts中的图标