Jfreechart – 我们可以在StackedAreaChart中为数据点设置形状吗?

我正在使用Jfreechart制作堆积区域图表。 我正在使用StackedXYAreaChart类。

我想知道我们是否可以在StackedAreaChart的数据点绘制形状(它是一个折线图,我们可以通过设置SetSeriesShapes()来表示每个数据点)。

方法setSeriesShape()似乎不起作用。 有人有什么想法吗?

这是我到目前为止所尝试的(请不要评论我有一个空的数据集。我正在绘制一个动态图表,系列将在稍后填写):

incomingData = new TimeTableXYDataset(); final JFreeChart incomingDataChart = ChartFactory.createStackedXYAreaChart( "Chart", "Time", "Payload (In Bytes)", incomingData, PlotOrientation.VERTICAL, true, true, false); final StackedXYAreaRenderer renderChart = new StackedXYAreaRenderer(); renderChart.setSeriesPaint(0, Color.decode("#339900")); renderChart.setSeriesPaint(1, Color.decode("#CC9933")); renderChart.setSeriesPaint(2, Color.decode("#33CCFF")); renderChart.setSeriesPaint(3, Color.decode("#FF6600")); renderChart.setSeriesShape(0, new Ellipse2D.Double(-3, -3, 10, 10)); renderChart.setSeriesShape(1, new Ellipse2D.Double(-3, -3, 10, 10)); renderChart.setSeriesShape(2, new Ellipse2D.Double(-3, -3, 10, 10)); renderChart.setSeriesShape(3, new Ellipse2D.Double(-3, -3, 10, 10)); incomingDatachart.getPlot().setRenderer(renderChart); 

您需要将StackedXYAreaRenderer的类型设置为“形状和线条”。 该渲染器默认不显示形状。

 StackedXYAreaRenderer renderer = new StackedXYAreaRenderer(StackedXYAreaRenderer.SHAPES_AND_LINES); 

找出解决方案:使用Statement

 StackedXYAreaRenderer renderChart = new StackedXYAreaRenderer(StackedXYAreaRenderer.AREA_AND_SHAPES); 

然后使用,

 renderChart.setSeriesShape(index, Shape);