我正在使用 JFreeChart 渲染包含数千个数据点的散点图。我通过将合适的 XYLineAndShapeRendererper 附加到每个数据集来控制每个 ScatterPlotDataset 的外观/样式;例如。数据集 1 中的点显示为圆形,数据集 2 中的点显示为正方形。我希望用户能够为每个数据集中的每个点动态分配一个子样式;例如。如果数据集是书籍,那么用户可能希望将小说颜色设为蓝色,将非小说颜色设为红色。有没有办法在不为每个子样式定义新数据集的情况下做到这一点?
顺便说一句,我正在使用 XYPlot 进行购物,但如果需要,我可以切换到其他图表类型。
先感谢您。
您可以考虑提到的方法. The 实施DrawingSupplier
, 如图所示here https://github.com/jfree/jfreechart/blob/6dc65fcb8cca209b8cc41429fbeea1f7ea84976a/src/main/java/org/jfree/chart/plot/DefaultDrawingSupplier.java#L70:
class DefaultDrawingSupplier implements DrawingSupplier…
The 延伸DefaultDrawingSupplier
, 如图所示here https://stackoverflow.com/a/40545725/230513,达到类似的效果。
Paint[] paintArray = {…};
plot.setDrawingSupplier(new DefaultDrawingSupplier(
paintArray, …
DefaultDrawingSupplier.DEFAULT_SHAPE_SEQUENCE));
当然,您始终可以覆盖getItemPaint()
, 如图所示here https://stackoverflow.com/a/9875534/230513.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)