在原始图表中.js数据集结构具有一个名为stack的属性,可用于单独堆叠数据集组。
"stack:字符串 此数据集所属组的 ID(堆叠时,每个组将是一个单独的堆栈(">
我尝试在 ng2 图表中这样做,如下所示:
public barChartData: any[] =[
{
data: [],
label: 'Label',
type: 'bar',
stack: '1'
}
]
但什么也没做。
下面是 ng2 图表中的数据集属性:数据集(Array<{data: Array | number[], label: string}>( - data see about,显示在图例和工具提示中的数据集的标签
是否有单独堆叠组的解决方法?
谢谢!
您对文档所说的是正确的,我正在尝试做同样的事情。我尝试了这个作为示例,根据链接,它应该可以工作: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>
我找到了这个图表样本.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'
},