我有一个堆积条形图,其中包含使用Chart.js的未堆叠折线图组合图表。我需要堆叠的条和未堆叠的线出现在同一轴上。我没有看到我可以做到这一点,所以我将它们放在不同的轴上,这样就可以堆叠一个而另一个不堆叠(例如,覆盖生产不同部分的容量线)。但是,如果它们必须在不同的轴上,那么我需要它们具有相同的比例。我无法找到一种方法来强制轴自动具有相同的比例,所以我不得不尝试计算我自己的比例并将它们设置为相同。这不是理想的,如果我可以使用一个设置强制它们使用相同的比例,我更愿意。这可能吗?
这是一个与我基本相同的帖子:Chart.js place both series on same scale唯一的区别是我需要堆叠我的栏系列,这会阻止我使用相同的轴。
答案 0 :(得分:2)
我可能会误解你要做的事情,但是可以在同一轴上创建一个带有未叠加折线图组合的堆积条形图。
这是一个示例配置,显示了如何做到这一点。
var myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [{
type: 'line',
label: 'Dataset 1',
borderColor: window.chartColors.blue,
borderWidth: 2,
fill: false,
data: [5, 3, 4, 10, 8, 9, 2]
}, {
type: 'bar',
label: 'Dataset 2',
backgroundColor: window.chartColors.red,
stack: 'Stack 0',
data: [2, 4, 1, 3, 7, 3, 6],
borderColor: 'white',
borderWidth: 2
}, {
type: 'bar',
label: 'Dataset 3',
backgroundColor: window.chartColors.green,
stack: 'Stack 0',
data: [7, 2, 4, 5, 6, 4, 2]
}]
},
options: {
responsive: true,
title: {
display: true,
text: 'Chart.js Stacked Bar and Unstacked Line Combo Chart'
},
tooltips: {
mode: 'index',
intersect: true
},
scales: {
xAxes: [{
stacked: true,
}]
}
}
});
这也是一个有效的codepen example。