XYSeries是(x,y)的集合
XYSeries series = new XYSeries("001");
XYSeries series = new XYSeries("001",boolean a);a=true 排序x轴由小到大
XYSeries series = new XYSeries("001",boolean a ,boolean b);b= true 允许y值为空
XYSeries 的一些方法
add(double x,double y);
getMaxX();得到点集X的最大值
getMinX();得到最小值
toArray();将点集转换为二维数组
package text09; import java.awt.BorderLayout; import java.awt.EventQueue; import java.util.ArrayList; import java.util.List; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.xy.XYSeries; import org.jfree.data.xy.XYSeriesCollection; public class Test09 extends JFrame { private JPanel contentPane; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { Test09 frame = new Test09(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } public XYSeriesCollection getCreateByXYDataSet(){ XYSeriesCollection dataset = new XYSeriesCollection(); XYSeries series0 = new XYSeries("001"); series0.add(10, 20); series0.add(30,15); series0.add(20,18); series0.add(20,20); XYSeries series1 = new XYSeries("002",true,false); series1.add(20,30); series1.add(30,30); // series1.add(45,null); series1.add(46 ,20); series1.add(40,10); dataset.addSeries(series0); dataset.addSeries(series1); System.out.println(series1.getMaxX()); // System.out.println(dataset.getDomainOrder()); ArrayList a = new ArrayList(); /*List<XYSeries> b =new ArrayList<XYSeries>(); b=dataset.getSeries(); for(int i=0;i<b.size();i++) { System.out.println(b.get(i).getItemCount()); }*/ return dataset; } public JFreeChart jfreeChart(){ XYSeriesCollection dataset = getCreateByXYDataSet(); JFreeChart chart = ChartFactory.createXYLineChart("test09","X" ,"Y", dataset,PlotOrientation.VERTICAL,true,true,false); return chart; } public Test09() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 450, 300); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setLayout(new BorderLayout(0, 0)); setContentPane(contentPane); ChartPanel cp = new ChartPanel( jfreeChart()); contentPane.add(cp); } }
XYSeriesCollection是XYSeries的集合。以下是添加过程
XYSeriesCollection dataset = new XYSeriesCollection();
XYSeries series0 = new XYSeries();
dataset.addSeries(series0);
XYSeriesCollection的一些方法
setIntervalPosittionFactor(double a);0<=a<=1
getDomainBound(boolean b) ;a=true X轴在图中的真实范围,a=false X轴的数据集范围 [起点,终点]
getDomainLowerBound(boolean b); X轴的起始值
getDomainUpperBound(boolean b);X轴的终止值
getEndXValue(int series,int item);item点值+a(a = getIntervalPositionFactor());
getStartXValue(int series,int item);item点值-a
getX(int series,int item);item点值
X轴是Domain(定义域)Y轴是Range(值域)
getItemCount(int series0);得到series0中点的个数
getSeries();返回类型是List 是集合里的series
getSeriesCount();返回series的数量
indexOf(XYSeries series) series的索引