Я хотел бы нарисовать горизонтальную линию на диаграмме, используя Chart.js. Но я не в состоянии это сделать.Chart.js Нарисуйте стробированную диаграмму с лимитной линией
Я нашел это example, но у меня были проблемы, преобразовав его в гистограмме, как он использует точки, чтобы определить, где разместить линейные и столбчатые диаграммы, кажется, не использовать «точки»
var data = {
labels: ["JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"],
datasets: [{
data: [12, 3, 2, 1, 8, 8, 2, 2, 3, 5, 7, 1]
}]
};
var ctx = document.getElementById("LineWithLine").getContext("2d");
Chart.types.Line.extend({
name: "LineWithLine",
initialize: function() {
Chart.types.Line.prototype.initialize.apply(this, arguments);
},
draw: function() {
Chart.types.Line.prototype.draw.apply(this, arguments);
var point = this.datasets[0].points[this.options.lineAtIndex]
var scale = this.scale
console.log(this);
// draw line
this.chart.ctx.beginPath();
this.chart.ctx.moveTo(scale.startPoint+12, point.y);
this.chart.ctx.strokeStyle = '#ff0000';
this.chart.ctx.lineTo(this.chart.width, point.y);
this.chart.ctx.stroke();
// write TODAY
this.chart.ctx.textAlign = 'center';
this.chart.ctx.fillText("TODAY", scale.startPoint + 35, point.y+10);
}
});
new Chart(ctx).LineWithLine(data, {
datasetFill : false,
lineAtIndex: 2
});
<script src="http://www.chartjs.org/assets/Chart.min.js"></script>
<div>
<canvas id="LineWithLine" width="600" height="400"></canvas>
</div>
есть ли лучше способ сделать это в Chart.js 2? Возможно, с использованием линейной диаграммы и комбинации гистограмм или что это перебор?
Надеется, что вы, ребята могут помочь мне понять это, я создал эту схему уже с помощью CSS и Javascript, как вы можете увидеть ниже:
В этом примере предел было минус значения так он наметил себя ниже фактической линии, что может ввести в заблуждение, но главное, что линия построена на выбранном мной значении. :)