I am using JFreeChart to render a scatter plot with a couple thousand data points. I control the appearance/style of each ScatterPlotDataset by attaching a suitable XYLineA
You might consider the approaches mentioned here. The first implements DrawingSupplier, as shown here:
class DefaultDrawingSupplier implements DrawingSupplier…
The second extends DefaultDrawingSupplier, as shown here, to achieve a similar effect.
Paint[] paintArray = {…};
plot.setDrawingSupplier(new DefaultDrawingSupplier(
paintArray, …
DefaultDrawingSupplier.DEFAULT_SHAPE_SEQUENCE));
Of course, you can always override getItemPaint(), as shown here.