如何使多个堆叠图表共享相同的 yAxis?
How to make multiple stacked charts to share the same yAxis?
我有 2 个包含不同数据的图表,它们堆叠在一起。如何让这 2 个图表共享 1 个 y 轴的相同比例?
我将 y 轴配置如下:
yAxes: [{
display: true,
stacked: true,
type: "linear",
scaleLabel: {
display: true,
labelString: "Amount in USD"
},
ticks: {
beginAtZero: true,
max: 150000,
callback: function(label, index, labels) {
return label / 1000 + "k";
}
}
}]
数据集如下:
labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
backgroundColor: "#FFE0B2",
datasets: [{
label: "Amount of Sales - YTD",
data: [0, 0, 0, 0, 0, 0, 0, 104920, 87461, 22700, 0, 0],
backgroundColor: [
"#FFE0B2"
],
borderColor: [
"#FF9800"
],
borderWidth: 1,
pointBackgroundColor: "#FFE0B2",
pointBorderColor: "#FF9800",
pointBorderWidth: 2
}, {
label: "Amount of Commission - YTD",
data: [0, 0, 0, 0, 0, 0, 0, 1896, 4373, 1135, 0, 0],
backgroundColor: [
"#F8BBD0"
],
borderColor: [
"#E91E63"
],
borderWidth: 1,
pointBackgroundColor: "#F8BBD0",
pointBorderColor: "#E91E63",
pointBorderWidth: 2
}]
请看:https://jsfiddle.net/pyzaq4j3/
如您所见,在 8 月,点(橙色)设置为 ~100k,这是正确的。
然而,根据图表,点(粉红色)的值只有 ~1.8k,点几乎在 ~100k。
问题:如何设置粉红色图表与橙色图表共享相同的y轴?
问题在于 y 轴中的这条线:
stacked: true,
如果您删除它,它不会将值堆叠在一起。
但是,由于您在数据集上指定了 backgroundColor
,并且第一个数据集是 "Amount of Sales - YTD",它具有更高的值,因此它会阻挡第二个数据集的视觉。
我有 2 个包含不同数据的图表,它们堆叠在一起。如何让这 2 个图表共享 1 个 y 轴的相同比例?
我将 y 轴配置如下:
yAxes: [{
display: true,
stacked: true,
type: "linear",
scaleLabel: {
display: true,
labelString: "Amount in USD"
},
ticks: {
beginAtZero: true,
max: 150000,
callback: function(label, index, labels) {
return label / 1000 + "k";
}
}
}]
数据集如下:
labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
backgroundColor: "#FFE0B2",
datasets: [{
label: "Amount of Sales - YTD",
data: [0, 0, 0, 0, 0, 0, 0, 104920, 87461, 22700, 0, 0],
backgroundColor: [
"#FFE0B2"
],
borderColor: [
"#FF9800"
],
borderWidth: 1,
pointBackgroundColor: "#FFE0B2",
pointBorderColor: "#FF9800",
pointBorderWidth: 2
}, {
label: "Amount of Commission - YTD",
data: [0, 0, 0, 0, 0, 0, 0, 1896, 4373, 1135, 0, 0],
backgroundColor: [
"#F8BBD0"
],
borderColor: [
"#E91E63"
],
borderWidth: 1,
pointBackgroundColor: "#F8BBD0",
pointBorderColor: "#E91E63",
pointBorderWidth: 2
}]
请看:https://jsfiddle.net/pyzaq4j3/
如您所见,在 8 月,点(橙色)设置为 ~100k,这是正确的。
然而,根据图表,点(粉红色)的值只有 ~1.8k,点几乎在 ~100k。
问题:如何设置粉红色图表与橙色图表共享相同的y轴?
问题在于 y 轴中的这条线:
stacked: true,
如果您删除它,它不会将值堆叠在一起。
但是,由于您在数据集上指定了 backgroundColor
,并且第一个数据集是 "Amount of Sales - YTD",它具有更高的值,因此它会阻挡第二个数据集的视觉。