i would like to use a strokeshadow for my line chart. But every solution that i found works only with chartjs v1.
Is their any solution for the newest one?
thats what i designed with chartjs v1, but just like i said, i found no way to do it with version 2.
jsfiddle
Chart.types.Line.extend({
name: "LineAlt",
initialize: function () {
Chart.types.Line.prototype.initialize.apply(this, arguments);
var ctx = this.chart.ctx;
var originalStroke = ctx.stroke;
ctx.stroke = function () {
ctx.save();
ctx.shadowColor = '#E56590';
ctx.shadowBlur = 10;
ctx.shadowOffsetX = 0;
ctx.shadowOffsetY = 4;
originalStroke.apply(this, arguments)
ctx.restore();
}
}
});
var data = {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [
{
label: "My First dataset",
fillColor: "#fff",
strokeColor: "#ffb88c",
pointColor: "#fff",
pointStrokeColor: "#ffb88c",
pointHighlightFill: "#ffb88c",
pointHighlightStroke: "#fff",
data: [65, 59, 80, 81, 56, 55, 40]
}
]
};
var ctx = document.getElementById("canvas").getContext("2d");
var myChart = new Chart(ctx).LineAlt(data, {
datasetFill: false
});
Html:
<canvas id="canvas" width="600" height="300" style="background-color:#fff"></canvas>
It is a command-line interface tool which is very useful for initialising and developing Angular applications.
The chart can also be programmatically resized by modifying the container size: chart.canvas.parentNode.style.height = '128px'; chart.canvas.parentNode.style.width = '128px'; Copied! Note that in order for the above code to correctly resize the chart height, the maintainAspectRatio option must also be set to false .
Yes!
You could accomplish the same stroke shadow effect for line chart with ChartJS v2 in the following way ...
let draw = Chart.controllers.line.prototype.draw;
Chart.controllers.line = Chart.controllers.line.extend({
draw: function() {
draw.apply(this, arguments);
let ctx = this.chart.chart.ctx;
let _stroke = ctx.stroke;
ctx.stroke = function() {
ctx.save();
ctx.shadowColor = '#E56590';
ctx.shadowBlur = 10;
ctx.shadowOffsetX = 0;
ctx.shadowOffsetY = 4;
_stroke.apply(this, arguments)
ctx.restore();
}
}
});
let ctx = document.getElementById("canvas").getContext('2d');
let myChart = new Chart(ctx, {
type: 'line',
data: {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [{
label: "My First dataset",
data: [65, 59, 80, 81, 56, 55, 40],
borderColor: '#ffb88c',
pointBackgroundColor: "#fff",
pointBorderColor: "#ffb88c",
pointHoverBackgroundColor: "#ffb88c",
pointHoverBorderColor: "#fff",
pointRadius: 4,
pointHoverRadius: 4,
fill: false
}]
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart.min.js"></script>
<canvas id="canvas" width="600" height="300" style="background-color:#fff"></canvas>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With