Chart.js仅绘制y轴至点

Chart.js仅绘制y轴至点,chart.js,chart.js2,Chart.js,Chart.js2,我想知道如何只绘制一个数据集上的y轴。如本例所示: 到目前为止,我已经尝试了一个黑版本,在数据集上添加了一个反转的白色背景,但是因为我在x轴上有一些偏移,白色背景突然剪切,Y轴线变得隐藏起来 有人知道如何循环通过每条网格线并给出正确的长度吗?您可以使用。它提供了可用于执行自定义代码的不同挂钩。在下面的代码片段中,我使用afterDrawhook为数据集中的各个点绘制虚线 const data=[1,3,2]; 新图表(document.getElementById(“myChart”){ 键

我想知道如何只绘制一个数据集上的y轴。如本例所示:

到目前为止,我已经尝试了一个黑版本,在数据集上添加了一个反转的白色背景,但是因为我在x轴上有一些偏移,白色背景突然剪切,Y轴线变得隐藏起来


有人知道如何循环通过每条网格线并给出正确的长度吗?

您可以使用。它提供了可用于执行自定义代码的不同挂钩。在下面的代码片段中,我使用
afterDraw
hook为数据集中的各个点绘制虚线

const data=[1,3,2];
新图表(document.getElementById(“myChart”){
键入:“行”,
插件:[{
后绘图:图表=>{
var ctx=chart.chart.ctx;
var xAxis=图表刻度['x轴-0'];
var yAxis=图表刻度['y轴-0'];
xAxis.ticks.forEach((值,索引)=>{
var x=xAxis.getPixelForValue(未定义,索引);
var yTop=yAxis.getPixelForValue(数据[索引]);
ctx.save();
ctx.setLineDash([10,5]);
ctx.strokeStyle='#8888888';
ctx.beginPath();
ctx.moveTo(x,yAxis.bottom);
ctx.lineTo(x,yTop);
ctx.stroke();
ctx.restore();
});      
}
}],
数据:{
标签:[“A”、“B”、“C”],
数据集:[{
标签:“我的第一个数据集”,
数据:[1,3,2],
填充:假,
边框颜色:“rgb(75192192)”,
线张力:0.3
}]
},
选项:{
图例:{
显示:假
},
比例:{
xAxes:[{
对,,
网格线:{
颜色:“白色”
}
}],
雅克斯:[{
滴答声:{
贝吉纳泽罗:是的,
最高:4,
步长:1
}
}]
}
}  
});
画布{
最大宽度:200px;
}

非常感谢您的回答!我用另一种方法解决了这个问题(通过降低不透明度,这样你就不会注意到线条重叠),但我接受了这个答案,因为这对其他有类似问题的人来说是一个更好的解决方案!:)