如何在 JFreeChart 折线图上创建形状?

How to create shapes on a JFreeChart line chart?

我想要在我用 ChartFactory.createLineChart() 创建的折线图中标记数据点的形状(小方块)。

它应该看起来像这样(这张图片不是用 JFreeChart 创建的):

我已按照说明进行操作 here,但是,它们并没有出现在我面前。这是我的 JFreeChart 软件的输出:

我的代码是:

JFreeChart lineChart = ChartFactory.createLineChart(...);
CategoryPlot plot = (CategoryPlot) lineChart.getPlot();
plot.getRenderer().setBaseShape(
    new Rectangle2D.Double(-20.0, -20.0, 40.0, 40.0));

我也尝试使用 setSeriesShape 而不是 setBaseShape 对于我正在绘制的所有系列,它也没有任何区别。

我做错了什么?

给出对渲染器的引用,

LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer();

调用 setBaseShapesVisible() 以启用您选择的 DrawingSupplier 提供的形状。

renderer.setBaseShapesVisible(true);

要更改外观,请为所需系列传递自定义 ShapesetSeriesShape()

renderer.setSeriesShape(0, new Ellipse2D.Double(-3d, -3d, 6d, 6d));

来自 JFreechart 1.5.0

LineAndShapeRenderer renderer = (LineAndShapeRenderer) lineChart.getCategoryPlot().getRenderer();
renderer.setDefaultShapesVisible(true);