2012-08-16 147 views
1

我在我的应用程序中使用ChartFactory.createStackedXYAreaChart(),使用JFreeChart。 此图表在创建时需要参数TableXYDataset。我的问题是我使用不同的系列来添加图表,但它不允许我在XYDataset中添加不同的系列。我正在使用以下代码:关于在TableXYDataset中添加系列

XYSeries series1 = new XYSeries("First"); 

series1.add(0.1,25); 
series1.add(0.2,43); 
series1.add(0.5,70); 
series1.add(0.64,94); 
series1.add(0.9,112); 

XYSeries series2 = new XYSeries("Second"); 

series2.add(0.9,112); 
series2.add(1.1,150); 
series2.add(1.3,175); 
series2.add(1.5,200); 
series2.add(1.7,225); 
series2.add(1.9,250); 

XYSeriesCollection dataset = new XYSeriesCollection(); 
dataset.addSeries(series1); 
dataset.addSeries(series2); 

return dataset; 

请帮帮我。

回答

2

DefaultTableXYDataset是具有addSeries(XYSeries series)方法的TableXYDataset

附录:请注意,重复项是而不是允许。例如,

enter image description here

XYSeries series1 = new XYSeries("First", true, false); 
series1.add(0.1, 25); 
series1.add(0.2, 43); 
series1.add(0.5, 70); 
series1.add(0.64, 94); 
series1.add(0.9, 112); 

XYSeries series2 = new XYSeries("Second", true, false); 
series2.add(0.9, 112); 
series2.add(1.1, 150); 
series2.add(1.3, 175); 
series2.add(1.5, 200); 
series2.add(1.7, 225); 
series2.add(1.9, 250); 

DefaultTableXYDataset dataset = new DefaultTableXYDataset(); 
dataset.addSeries(series1); 
dataset.addSeries(series2); 
return dataset; 
+0

trashgod ::谢谢哥们..!在同一图中,我使用值标记来显示域轴值。我使用的cade是标记myDateMarker = new ValueMarker(new Double(0.31)); \t \t myDateMarker.setPaint(Color.BLACK); plot.addDomainMarker(myDateMarker); \t \t plot.addDomainMarker(myDateMarker,Layer.FOREGROUND); \t \t myDateMarker.setStroke(new BasicStroke(0.6f));我想将标记设置为点状。我应该怎么做? – 2012-08-17 05:01:41

+0

看看[这个答案](http://stackoverflow.com/a/9321777/230513)帮助。 – trashgod 2012-08-17 14:20:21

+0

感谢您的帮助..在同一个应用程序中,我想添加错误行(范围错误行)..我正在使用XYDataset ..任何人都可以发布我指定hw的代码来添加这些错误行吗?我正在使用散点图gor it – 2012-08-20 05:57:21