zoukankan      html  css  js  c++  java
  • Java智能图表类库JChartLib使用介绍

    http://www.codeceo.com/article/java-jchartlib.html

    JChartLib是一款基于Java的智能图表类库,JChartLib不仅有着漂亮的外观,而且支持图表坐标数值的自动调整,这样我们在图表中显示数值就比较简单,不用我们计算处理。JChartLib同样支持线型图、柱状图和饼状图,而且可以自定义外观样式。另外图表可直接在 Swing 中使用,可保持为 jpg 和 png 格式图片。

    JChartLib的预览图

    Linechart Linechart with float values Linechart with negative values Barchart Areachart Piechart

    JChartLib的使用方法

    JChartLib线形图绘制的Java代码如下:

    /*
    * JChartLib Demo App for a Linechart
    * @author Silvio Schneider
    /
    import com.bitagentur.chart.JChartLibLinechart;
    import com.bitagentur.data.JChartLibDataSet;
    import com.bitagentur.data.JChartLibSerie;
    import com.bitagentur.renderer.JChartLibPanel;
    import java.awt.event.WindowEvent;
    import java.awt.event.WindowListener;
    import javax.swing.JFrame;
    /*
    * A simple demonstration application showing how to create a line chart
    /
    public class JChartLibApp extends JFrame implements WindowListener {
    /**
     * Creates a new Application Frame
     */
    public JChartLibApp() {
        super("JChartLib Demo Appllication");
        final JChartLibDataSet dataset = createDataset();
        final JChartLibBaseChart chart = createChart(dataset);
        final JChartLibPanel chartPanel = new JChartLibPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
        setContentPane(chartPanel);
    }
    
    /**
     * Creates a sample dataset.
     * 
     * @return a sample dataset.
     */
    private JChartLibDataSet createDataset() {
        //Dataseries can be added with int arrays
        int[] values1 = new int[5];
        values1[0] = 1;
        values1[1] = 3;
        values1[2] = 4;
        values1[3] = 7;
        values1[4] = 2;
    
        //or by generating a Dataserie object
        JChartLibSerie values2 = new JChartLibSerie("Banana");
        values2.addValue(5);
        values2.addValue(4);
        values2.addValue(2);
        values2.addValue(6);
        values2.addValue(2);
    
        final JChartLibDataSet dataset = new JChartLibDataSet();
        dataset.addDataSerie("Apple", values1);   //adds the apples
        dataset.addDataSerie(values2);            //adds the bananas
    
        return dataset;
    }
    
    /**
     * Creates a chart
     * 
     * @param dataset the data for the chart.
     * @return a new chart
     */
    private JChartLibBaseChart createChart(final JChartLibDataSet dataset) {
    
        // create the chart with title and axis names
        final JChartLibLinechart chart = new JChartLibLinechart(
                "Fruits are good", // chart title
                "Time goes by", // x axis text
                "Number of Fruits", // y axis text
                dataset, // data
                true // legend on
                );
    
        return chart;
    }
    
    /**
     * Main method - DEMO Application for JChartLib
     *
     * @param args the command line arguments
     */
    public static void main(final String[] args) {
        System.out.println("JChartLibApp started");
        final JChartLibApp app = new JChartLibApp();
        app.addWindowListener(app);
        app.pack();
        app.setVisible(true);
    }
    
    @Override
    public void windowOpened(WindowEvent e) {
        //Nothing to do
    }
    
    @Override
    public void windowClosing(WindowEvent e) {
        //Exit and goodby
        if (e.getWindow() == this) {
            dispose();
            System.out.println("Thanks for using the JChartLibApp");
            System.exit(0);
        }
    }
    
    @Override
    public void windowClosed(WindowEvent e) {
        //Nothing to do
    
    }
    
    @Override
    public void windowIconified(WindowEvent e) {
        //Nothing to do
    }
    
    @Override
    public void windowDeiconified(WindowEvent e) {
        //Nothing to do
    }
    
    @Override
    public void windowActivated(WindowEvent e) {
        //Nothing to do
    }
    
    @Override
    public void windowDeactivated(WindowEvent e) {
        //Nothing to do
    }
    }

    JChartLib柱形图绘制的Java代码如下:

    /*
    * JChartLib Demo App for a Barchart
    * @author Silvio Schneider
    /
    import com.bitagentur.chart.JChartLibBarchart;
    import com.bitagentur.data.JChartLibDataSet;
    import com.bitagentur.data.JChartLibSerie;
    import com.bitagentur.renderer.JChartLibPanel;
    import java.awt.event.WindowEvent;
    import java.awt.event.WindowListener;
    import javax.swing.JFrame;
    /*
    * A simple demonstration application showing how to create a bar chart
    /
    public class JChartLibApp extends JFrame implements WindowListener {
    /**
     * Creates a new Application Frame
     */
    public JChartLibApp() {
        super("JChartLib Demo Appllication");
        final JChartLibDataSet dataset = createDataset();
        final JChartLibBarchart chart = createChart(dataset);
        final JChartLibPanel chartPanel = new JChartLibPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
        setContentPane(chartPanel);
    }
    
    /**
     * Creates a sample dataset.
     * 
     * @return a sample dataset.
     */
    private JChartLibDataSet createDataset() {
        //Dataseries can be added with int arrays
        int[] values1 = new int[5];
        values1[0] = 1;
        values1[1] = 3;
        values1[2] = 4;
        values1[3] = 7;
        values1[4] = 2;
    
        //or by generating a Dataserie object
        JChartLibSerie values2 = new JChartLibSerie("Banana");
        values2.addValue(5);
        values2.addValue(4);
        values2.addValue(2);
        values2.addValue(6);
        values2.addValue(2);
    
        final JChartLibDataSet dataset = new JChartLibDataSet();
        dataset.addDataSerie("Apple", values1);   //adds the Apples
        dataset.addDataSerie(values2);            //adds the Bananas
    
        return dataset;
    }
    
    /**
     * Creates a chart
     * 
     * @param dataset the data for the chart.
     * @return a new chart
     */
    private JChartLibBaseChart createChart(final JChartLibDataSet dataset) {
    
        // create the chart with title and axis names
        final JChartLibBarchart chart = new JChartLibBarchart(
                "Fruits are good", // chart title
                "Time goes by", // x axis text
                "Number of Fruits", // y axis text
                dataset, // data
                true // legend on
                );
    
        return chart;
    }
    
    /**
     * Main method - DEMO Application for JChartLib
     *
     * @param args the command line arguments
     */
    public static void main(final String[] args) {
        System.out.println("JChartLibApp started");
        final JChartLibApp app = new JChartLibApp();
        app.addWindowListener(app);
        app.pack();
        app.setVisible(true);
    }
    
    @Override
    public void windowOpened(WindowEvent e) {
        //Nothing to do
    }
    
    @Override
    public void windowClosing(WindowEvent e) {
        //Exit and goodby
        if (e.getWindow() == this) {
            dispose();
            System.out.println("Thanks for using the JChartLibApp");
            System.exit(0);
        }
    }
    
    @Override
    public void windowClosed(WindowEvent e) {
        //Nothing to do
    
    }
    
    @Override
    public void windowIconified(WindowEvent e) {
        //Nothing to do
    }
    
    @Override
    public void windowDeiconified(WindowEvent e) {
        //Nothing to do
    }
    
    @Override
    public void windowActivated(WindowEvent e) {
        //Nothing to do
    }
    
    @Override
    public void windowDeactivated(WindowEvent e) {
        //Nothing to do
    }
    }

    JChartLib饼状图绘制的Java代码如下:

    /*
    * JChartLib Demo App for a piechart
    * @author Silvio Schneider
    /
    import com.bitagentur.chart.JChartLibPiechart;
    import com.bitagentur.data.JChartLibDataSet;
    import com.bitagentur.data.JChartLibSerie;
    import com.bitagentur.renderer.JChartLibPanel;
    import java.awt.event.WindowEvent;
    import java.awt.event.WindowListener;
    import java.util.Random;
    import javax.swing.JFrame;
    /
    * A simple demonstration application showing how to create a pie chart.
    
    /
    public class JChartLibApp_piechart extends JFrame implements WindowListener {
    /**
     * Creates a new Application Frame
     */
    public JChartLibApp_piechart() {
        super("JChartLib Demo Appllication");
    
        final JChartLibDataSet dataset = createDataset();
        final JChartLibPiechart chart = createChart(dataset);
        final JChartLibPanel chartPanel = new JChartLibPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
        setContentPane(chartPanel);
    }
    
    /**
     * Creates a sample dataset.
     * 
     * @return a sample dataset.
     */
    private JChartLibDataSet createDataset() {
        //or by generating a Dataserie object
        JChartLibSerie values1 = new JChartLibSerie("Fruits");
        values1.addValue("Apple", 1);
        values1.addValue("Banana", 1);
        values1.addValue("Orange", 1);
        values1.addValue("Tomato", 1);
    
        final JChartLibDataSet dataset = new JChartLibDataSet();
        dataset.addDataSerie(values1);          //adds the Apples
    
        return dataset;
    }
    
    /**
     * Creates a chart
     * 
     * @param dataset the data for the chart.
     * @return a new chart
     */
    private JChartLibPiechart createChart(final JChartLibDataSet dataset) {
    
        // create the chart with title and axis names
        final JChartLibPiechart chart = new JChartLibPiechart(
                "yammi fruitpie", // chart title
                "", // x axis text
                "", // y axis text
                dataset // data
                );
    
        return chart;
    }
    
    /**
     * Main method - DEMO Application for JChartLib
     *
     * @param args the command line arguments
     */
    public static void main(final String[] args) {
        System.out.println("JChartLibApp started");
        final JChartLibApp_piechart app = new JChartLibApp_piechart();
        app.addWindowListener(app);
        app.pack();
        app.setVisible(true);
    }
    
    @Override
    public void windowOpened(WindowEvent e) {
        //Nothing to do
    }
    
    @Override
    public void windowClosing(WindowEvent e) {
        //Exit and goodby
        if (e.getWindow() == this) {
            dispose();
            System.out.println("Thanks for using the JChartLibApp");
            System.exit(0);
        }
    }
    
    @Override
    public void windowClosed(WindowEvent e) {
        //Nothing to do
    }
    
    @Override
    public void windowIconified(WindowEvent e) {
        //Nothing to do
    }
    
    @Override
    public void windowDeiconified(WindowEvent e) {
        //Nothing to do
    }
    
    @Override
    public void windowActivated(WindowEvent e) {
        //Nothing to do
    }
    
    @Override
    public void windowDeactivated(WindowEvent e) {
        //Nothing to do
    }
    }

    JChartLib的功能介绍就到这里,如有疑问,可以访问文末的官方网站,或者留言讨论。

  • 相关阅读:
    反转链表 16
    CodeForces 701A Cards
    hdu 1087 Super Jumping! Jumping! Jumping!(动态规划)
    hdu 1241 Oil Deposits(水一发,自我的DFS)
    CodeForces 703B(容斥定理)
    poj 1067 取石子游戏(威佐夫博奕(Wythoff Game))
    ACM 马拦过河卒(动态规划)
    hdu 1005 Number Sequence
    51nod 1170 1770 数数字(数学技巧)
    hdu 2160 母猪的故事(睡前随机水一发)(斐波那契数列)
  • 原文地址:https://www.cnblogs.com/jukan/p/6588225.html
Copyright © 2011-2022 走看看