【发布时间】:2015-07-02 00:46:27
【问题描述】:
我正在使用 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#setSeriesShape()为我工作;请编辑您的问题以包含一个 complete example 来展示您所描述的问题。 -
@trashgod - 面积区域被覆盖面积图的线所取代。无论如何,我想出了我的答案。解决方法是:StackedXYAreaRenderer renderer = new StackedXYAreaRenderer(StackedXYAreaRenderer.AREA_AND_SHAPES);
标签: java jfreechart