jfreechart -XYSeries ,XYSeriesCollection

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的索引

 

posted on 2017-09-07 14:31  化身孤岛的蓝鲸  阅读(583)  评论(0编辑  收藏  举报

导航