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

时间:2015-07-02 00:46:27

标签: java jfreechart

我正在使用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);

2 个答案:

答案 0 :(得分:2)

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

StackedXYAreaRenderer renderer = new StackedXYAreaRenderer(StackedXYAreaRenderer.SHAPES_AND_LINES);

答案 1 :(得分:1)

找出解决方案:使用Statement

StackedXYAreaRenderer renderChart = new StackedXYAreaRenderer(StackedXYAreaRenderer.AREA_AND_SHAPES);

然后使用,

renderChart.setSeriesShape(index, Shape);