如何在 ng2-charts 中使用 Group Stacking?

How to do Group Stacking available in ng2-charts?

在原始的Chart.js数据集结构中有一个属性称为堆栈,可用于单独堆叠一组数据集。

"stack: String The ID of the group to which this dataset belongs to (when stacked, each group will be a separate stack)"

我试过在 ng2-charts 中这样做:

public barChartData: any[] =[
{
data: [],

label: 'Label',

type: 'bar',

stack: '1'
}
]

但什么也没做。

这是来自 ng2-charts 的数据集 属性: datasets (Array<{data: Array | number[], label: string}>) - 数据查看,出现在图例和工具提示中的数据集标签

是否有单独堆叠组的解决方法?

谢谢!

您对文档所说的是正确的,我正在尝试做同样的事情。我以这个为例,它应该可以工作,根据 link : http://www.chartjs.org/docs/latest/charts/bar.html 在我的 .ts 中:

public barChartData:any[]=[
{data: [65, 59, 80, 81, 56, 55, 40], label: 'Series A', stack: '1'},
{data: [28, 48, 40, 19, 86, 27, 90], label: 'Series B', stack: '1'},
{data: [42, 24, 71, 14, 31, 49, 30], label: 'Series C', stack: '2'}
];

public barChartLabels:string[] = ['2006', '2007', '2008', '2009', '2010', '2011', '2012'];

public barChartOptions:any = {        
    responsive: true,
    scales:{
        xAxes:[{
            stacked:true
        }],
        yAxes:[{
            stacked:true
        }]
    }
  };
  public barChartType:string = 'bar';

在我的 HTML 中:

<canvas id="chart1" baseChart
            [datasets]="barChartData"
            [labels]="barChartLabels"
            [options]="barChartOptions"
            [chartType]="barChartType"
            (chartHover)="chartHovered($event)"
            (chartClick)="chartClicked($event)"></canvas>

我找到了这个 chart.js 的分组堆栈栏示例。不幸的是它是普通的 JS:https://github.com/chartjs/Chart.js/blob/master/samples/charts/bar/stacked-group.html

编辑: 使用我上面的代码并执行 npm install chart.js@2.6 --save -> 它直接对我有用

我在检查创建条形图时是否检查了堆栈时找到了这个解决方案。它们不在我当前的版本中。

所以我发现这样做的方法是取消堆叠 yaxis,然后将堆栈添加到数据集 属性,如下所示:

 {
                data: [],
                label: 'dataset 1',
                type: 'bar',
                yAxisID: 'bar-y-axis1',
                stack: '1'
            },
            {
                data: [],
                label: 'dataset 3',
                type: 'bar',
                yAxisID: 'bar-y-axis1',
                stack: '1'
            },
            {
                data: [],
                label: 'dataset 4',
                type: 'bar',
                yAxisID: 'bar-y-axis1',
                stack: '1'
            },