使用JFreeChart散点图有没有一种方法来细分数据集样式?

我正在使用JFreeChart来呈现一个有数千个数据点的散点图。 我通过附加一个合适的XYLineAndShapeRendererper到每个数据集来控制每个ScatterPlotDataset的外观/样式; 例如。 数据集1中的点显示为圆形,数据集2中的点显示为正方形。 我希望用户能够为每个数据集中的每个点dynamic地分配一个子样式; 例如。 如果数据集是书籍,那么用户可能希望使小说的颜色变为蓝色而不使用小说的红色。 有没有办法做到这一点,而不是为每个子风格定义一个新的数据集?

顺便说一句,我用XYPlot carting,但我可以切换到另一个图表types,如果有必要。

先谢谢你。

你可以考虑这里提到的方法。 第一个实现DrawingSupplier ; 第二个扩展DefaultDrawingSupplier来实现类似的效果。 当然,你总是可以覆盖getItemPaint() ,如下所示。