@Override
protected void postPaintRow(AbstractGraphRow row, Graphics2D g2d) {
if(chartSettings.getLineWidth() == 0) return;
if (row.size() >= 3) {
CubicSpline cs = new CubicSpline(row);
long minX = row.getMinX();
long maxX = row.getMaxX();
double step = (double)(maxX - minX) / splineLinesCount;
double currentX = minX;
while (currentX <= maxX) {
x = chartRect.x + (int) ((currentX - minXVal) * dxForDVal);
int yHeight = (int) ((cs.interpolate(currentX) - minYVal) * dyForDVal);
y = chartRect.y + chartRect.height - yHeight;
//prevent out of range
if (y < chartRect.y) {
y = chartRect.y;