"use strict";
-
/**
* Draws the gridlines, i.e. the gray horizontal & vertical lines running the
* length of the chart.
ticks = layout.yticks;
ctx.save();
// draw grids for the different y axes
- for (i = 0; i < ticks.length; i++) {
- var axis = ticks[i][0];
- if(drawGrid[axis]) {
+ ticks.forEach(tick => {
+ if (!tick.has_tick) return;
+ var axis = tick.axis;
+ if (drawGrid[axis]) {
ctx.save();
if (stroking[axis]) {
if (ctx.setLineDash) ctx.setLineDash(strokePattern[axis]);
ctx.lineWidth = lineWidths[axis];
x = halfUp(area.x);
- y = halfDown(area.y + ticks[i][1] * area.h);
+ y = halfDown(area.y + tick.pos * area.h);
ctx.beginPath();
ctx.moveTo(x, y);
ctx.lineTo(x + area.w, y);
ctx.restore();
}
- }
+ });
ctx.restore();
}
}
ctx.strokeStyle = g.getOptionForAxis('gridLineColor', 'x');
ctx.lineWidth = g.getOptionForAxis('gridLineWidth', 'x');
- for (i = 0; i < ticks.length; i++) {
- x = halfUp(area.x + ticks[i][0] * area.w);
+ ticks.forEach(tick => {
+ if (!tick.has_tick) return;
+ x = halfUp(area.x + tick.pos * area.w);
y = halfDown(area.y + area.h);
ctx.beginPath();
ctx.moveTo(x, y);
ctx.lineTo(x, area.y);
ctx.closePath();
ctx.stroke();
- }
+ });
if (stroking) {
if (ctx.setLineDash) ctx.setLineDash([]);
}