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,你可以看到如下:
在這個例子中,下限爲負值等等它在自己的實線以下繪製了自己,這可能會令人困惑,但主要的是該線被繪製爲我選擇的值。 :)