Chart.js 不同颜色的Y轴

Chart.js 不同颜色的Y轴,chart.js,Chart.js,我曾尝试向Y轴添加不同的颜色,但没有成功。 有可能实现像附加图像显示这样的功能吗 在chartjs插件注释插件中,您可以设置背景,但不能设置缩放颜色 var配置={ 键入:“行”, 数据:{ 标签:[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”], 数据集:[{ 标签:“数据集”, 数据:[1,2,3,4,5,6,7], 填充:假, }] }, 选项:{ 回答:是的, 比例:{ 雅克斯:[{ 显示:对, scaleLabel:{ 显示:对, 标签串:“彩色刻度” },

我曾尝试向Y轴添加不同的颜色,但没有成功。 有可能实现像附加图像显示这样的功能吗

在chartjs插件注释插件中,您可以设置背景,但不能设置缩放颜色

var配置={
键入:“行”,
数据:{
标签:[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”],
数据集:[{
标签:“数据集”,
数据:[1,2,3,4,5,6,7],
填充:假,
}]
},
选项:{
回答:是的,
比例:{
雅克斯:[{
显示:对,
scaleLabel:{
显示:对,
标签串:“彩色刻度”
},
网格线:{color:['rgba(255,0,0,1)''rgba(0255,0,1)''rgba(0,0255,1)]}
}]
}
}
};
window.onload=函数(){
var ctx=document.getElementById('canvas').getContext('2d');
window.myLine=新图表(ctx,配置);
};

如果您希望彩色矩形分布在整个图表上,可以使用绘制不同背景颜色的单独方框

新图表(document.getElementById('canvas'){
键入:“行”,
数据:{
标签:[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”],
数据集:[{
标签:“数据集”,
数据:[1,2,3,4,5,6,7],
填充:假,
背景颜色:“rgb(0,0,0)”,
边框颜色:“rgb(0,0,0)”
}]
},
选项:{
回答:是的,
比例:{
雅克斯:[{
显示:对,
scaleLabel:{
显示:对,
标签串:“彩色刻度”
}
}]
},
注释:{
注释:[{
drawTime:“beforeDatasetsDraw”,
输入:“盒子”,
xScaleID:“x轴-0”,
yScaleID:“y轴-0”,
yMin:4.5,
yMax:8,
背景色:“rgba(255,0,0,1)”,
边框宽度:0
},
{
drawTime:“beforeDatasetsDraw”,
输入:“盒子”,
xScaleID:“x轴-0”,
yScaleID:“y轴-0”,
yMin:3.5,
yMax:4.5,
背景色:“rgba(255,165,0,1)”,
边框宽度:0
},
{
drawTime:“beforeDatasetsDraw”,
输入:“盒子”,
xScaleID:“x轴-0”,
yScaleID:“y轴-0”,
xMin:0,
xMax:100,
yMin:0,
yMax:3.5,
背景色:“rgba(50250,50,1)”,
边框宽度:0
}
]
}
}
});

您可以使用直接在画布上绘制单个框。API提供了一系列钩子,可用于执行自定义代码

在下面的代码片段中,我使用
beforeDraw
hook绘制每个不同背景颜色的矩形

新图表(document.getElementById('canvas'){
键入:“行”,
插件:[{
绘制前:图表=>{
var ctx=chart.chart.ctx;
var xAxis=图表刻度['x轴-0'];
var yAxis=图表刻度['y轴-0'];
ctx.save();
ctx.fillStyle='绿色';
ctx.beginPath();
var yGreen=yAxis.getPixelForValue(3.5);
ctx.fillRect(xAxis.left-6,yGreen,6,yAxis.bottom-yGreen);
ctx.stroke();
ctx.fillStyle=‘橙色’;
ctx.beginPath();
var yOrange=yAxis.getPixelForValue(4.5);
ctx.fillRect(xAxis.left-6,yOrange,6,yGreen-yOrange);
ctx.stroke();
ctx.fillStyle='红色';
ctx.beginPath();
var yRed=yAxis.getPixelForValue(7);
ctx.fillRect(xAxis.left-6,yRed,6,yOrange-yRed);
ctx.stroke();
ctx.restore();
}
}],
数据:{
标签:[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”],
数据集:[{
标签:“数据集”,
数据:[1,2,3,4,5,6,7],
填充:假
}]
},
选项:{
回答:是的,
比例尺:{
雅克斯:[{
网格线:{
长度:15
},
滴答声:{
填充:6
},
scaleLabel:{
显示:对,
标签串:“彩色刻度”
}
}]
}
}
});


code或者你在撒谎。好的,添加了代码!然后向上投票:)。始终添加您的代码和错误日志(如果有),以及您在提问时迄今为止尝试过的内容。