1

我正在使用 JFreeChart 渲染具有几千个数据点的散点图。我通过将合适的 XYLineAndShapeRendererper 附加到每个数据集来控制每个 ScatterPlotDataset 的外观/样式;例如。数据集 1 中的点显示为圆形,数据集 2 中的点显示为正方形。我希望用户能够在每个数据集中为每个点动态分配子样式;例如。如果数据集是书籍,那么用户可能希望将小说蓝色和非小说红色着色。有没有办法在不为每个子样式定义新数据集的情况下做到这一点?

顺便说一句,我正在使用 XYPlot,但如有必要,我可以切换到另一种图表类型。

先感谢您。

4

1 回答 1

3

您可以考虑这里提到的方法。第一个实现DrawingSupplier,如下所示

class DefaultDrawingSupplier implements DrawingSupplier…

第二延伸DefaultDrawingSupplier,如此处所示以达到类似的效果。

Paint[] paintArray = {…};
plot.setDrawingSupplier(new DefaultDrawingSupplier(
    paintArray, …
    DefaultDrawingSupplier.DEFAULT_SHAPE_SEQUENCE));

当然,您始终可以覆盖,如此getItemPaint()所示。

于 2013-05-25T23:20:59.287 回答