我正在使用 Chart.Js 和 chartjs-plugin-annotation 来显示多个折线图和注释,以将图表区域分成七个不同颜色的区域。
现在我正在尝试从两个盒子开始。
X 轴 - 以 HH:m 格式显示时间。Y 轴 - 显示四个系列的值。
我面临的问题是我只看到第二个盒子,而不是第一个。
第二个框也占据了整个图表区域。
这是我面临的问题的 JSFiddle - https://jsfiddle.net/marathepa/16th0x3d/14/
我使用以下代码进行注释 -
var options = {
scales: {
xAxes: [{
type: 'time',
time: {
displayFormats: timeFormat,
}
}]
},
plugins: {
annotation: {
annotations: {
box1: {
type: "box",
drawTime: "beforeDatasetsDraw",
xMin: Val1,
xMax: Val2,
yMin: Val3,
yMax: Val4,
backgroundColor: XXXXXXXXXXXXX,
xScaleID: 'x-axis-0'
},
box2: {
type: "box",
drawTime: "beforeDatasetsDraw",
xMin: Val5,
xMax: Val6,
yMin: Val3,
yMax: Val4,
backgroundColor: Val3,
xScaleID: 'x-axis-0'
}
}
}
}
};
如果我给出注释 - yScaleID - 它不会显示任何框。
Val1、Val2、Val5 和 Val6 使用与标签相同的时间格式格式(x 轴)
当我将 Val1、Val2、Val5 和 Val6 硬编码为特定值时,我只看到第二个框。
问题似乎是 - 标签的日期值。标签是日期值,我需要在注释上使用 xMin: Val1,xMax: Val2 和 Val5 和 Val6 上的子集。
解释问题的链接 -
https://github.com/chartjs/chartjs-plugin-annotation/issues/438#event-4976403966
https://github.com/chartjs/chartjs-plugin-annotation/discussions/439#discussioncomment-966664