renderXAxis method
Implementation
void renderXAxis(CanvasRenderingContext2D ctx, List<DateTime> xDates) {
final cWidth = chart.width;
final cHeight = chart.height;
ctx
..strokeStyle = style.fontColor
..beginPath()
..moveTo(style.leftMargin, cHeight - style.bottomMargin)
..lineTo(cWidth - style.rightMargin, cHeight - style.bottomMargin)
..stroke()
..textAlign = 'center';
final usableWidth = cWidth - style.leftMargin - style.rightMargin - 1;
xStepPix = usableWidth / (xDates.length - 1);
if (chart.candleData.isNotEmpty) {
xStepPix = usableWidth / (xDates.length - 0.5);
}
final y = cHeight - style.bottomMargin;
ctx
..textBaseline = 'top'
..textAlign = 'center';
drawXLabel(ctx, style.leftMargin, y, xDates.first);
var prevX = style.leftMargin;
for (var i = 1; i < (xDates.length - 1); i++) {
final x = (style.leftMargin + (i * xStepPix)).round();
if (x - prevX < xStepInterval) {
continue;
}
drawXLabel(ctx, x, y, xDates[i]);
prevX = x;
}
if (cWidth - style.rightMargin - prevX > xStepInterval) {
drawXLabel(ctx, cWidth - style.rightMargin, y, xDates.last);
}
}