我希望有一些形状(小方块)标记我使用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
来制作我正在绘制的所有系列,它也没有任何区别。
我做错了什么?
答案 0 :(得分:3)
鉴于对渲染器的引用,
LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer();
调用setBaseShapesVisible()
以启用所选DrawingSupplier
提供的形状。
renderer.setBaseShapesVisible(true);
要更改外观,请将自定义Shape
传递给setSeriesShape()
以获取所需的系列。
renderer.setSeriesShape(0, new Ellipse2D.Double(-3d, -3d, 6d, 6d));
答案 1 :(得分:1)
来自 JFreechart 1.5.0
LineAndShapeRenderer renderer = (LineAndShapeRenderer) lineChart.getCategoryPlot().getRenderer();
renderer.setDefaultShapesVisible(true);