On sample data, the existing renderer produces the following image:

(Notice the six faint vertical white lines.)
After a lot of back-and-forth, I decided the simplest solution was to round the x coordinates (the domain values) to integers so that there is no antialiasing on the vertical edges, and it produces the following image:

These are the changes I made in patch format:
Code: Select all
215c215
< float transX1 = Math.round((float) domainAxis.valueToJava2D(x1, dataArea, edge0));
---
> float transX1 = (float) domainAxis.valueToJava2D(x1, dataArea, edge0);
217c217
< = Math.round((float) domainAxis.valueToJava2D(xleft, dataArea, edge0));
---
> = (float) domainAxis.valueToJava2D(xleft, dataArea, edge0);
219c219
< = Math.round((float) domainAxis.valueToJava2D(xright, dataArea, edge0));
---
> = (float) domainAxis.valueToJava2D(xright, dataArea, edge0);
I posted this here because I spent a lot of time trying to figure this out, and couldn't find any answers on this forum. Hopefully this will help other people looking for the reason lines show up in their graph.