2017-02-16 18 views
0

Я хотел бы нарисовать горизонтальную линию на диаграмме, используя 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, как вы можете увидеть ниже:

enter image description here

В этом примере предел было минус значения так он наметил себя ниже фактической линии, что может ввести в заблуждение, но главное, что линия построена на выбранном мной значении. :)

ответ

1

Если у вас есть эта проблема, проверьте этот вопрос drawing a custom horizontal line in Chart.js 2

В ответ на Queston я связан, он был определен новый плагин в chart.js (более подробная информация в Chart.js 'сайта), позволяющий вы можете нарисовать гистограмму и собственную линию. Существует также jsfiddle, чтобы лучше понять, как работают плагины