Package com.ordobill.webapp.report

Source Code of com.ordobill.webapp.report.PieChart

package com.ordobill.webapp.report;

import java.awt.Container;
import java.awt.Font;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;

import com.ordobill.webapp.beans.Report;
import com.ordobill.webapp.beans.Sampleform;

public class PieChart {

    /**
     * Creates a sample dataset.
     *
     * @return A sample dataset.
     */
    public static PieDataset createDataset(Sampleform sampleform) {
     
        DefaultPieDataset dataset = new DefaultPieDataset();
        /*dataset.setValue("One", new Double(43.2));
        dataset.setValue("Two", new Double(10.0));
        dataset.setValue("Three", new Double(27.5));
        dataset.setValue("Four", new Double(17.5));
        dataset.setValue("Five", new Double(11.0));
        dataset.setValue("Six", new Double(19.4));*/
        String[] dataArr = rangeData(sampleform.getStepFigName());
        for (int i=0;i<dataArr.length;i++) {
          dataset.setValue(dataArr[i].split(";;;")[0], Double.valueOf(dataArr[i].split(";;;")[1]));
      }
        /*for (int i=0;i<10;i++) {
          dataset.setValue(sampleform.getStepAve()[0][i], Double.valueOf(sampleform.getStepAve()[1][i]));
        }*/
        return dataset;       
    }
   
    /**
     * Creates a chart.
     *
     * @param dataset  the dataset.
     *
     * @return A chart.
     */
    public static JFreeChart createChart(PieDataset dataset) {
       
        JFreeChart chart = ChartFactory.createPieChart(
            "Pie Chart"// chart title
            dataset,             // data
            true,               // include legend
            true,
            false
        );

        PiePlot plot = (PiePlot) chart.getPlot();
        plot.setLabelFont(new Font("SansSerif", Font.PLAIN, 12));
        plot.setNoDataMessage("No data available");
        plot.setCircular(false);
        plot.setLabelGap(0.02);
        return chart;
       
    }
   
    /**
     * Creates a panel for the demo (used by SuperDemo.java).
     *
     * @return A panel.
     */
    public static JFreeChart createPanel(Report reportBean,Sampleform sampleform) {
        JFreeChart chart = createChart(createDataset(sampleform));
        /*ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new Dimension(200, 100));
        JInternalFrame frame = new JInternalFrame("Frame 1", true);
        frame.getContentPane().add(chartPanel);*/
        Container cont = new Container();
        ChartFrame frame = new ChartFrame("pie chart", chart);
        frame.pack();
        frame.setVisible(true);
        return chart;
    }
    /**
     *
     * @param dataArr
     * @return resultArr
     */
    public static String[] rangeData(String[] dataArr) {
      String[] resultArr = null;
      if (dataArr.length < 10) {
        resultArr = new String[dataArr.length];
      } else {
        resultArr = new String[10];
      }
     
      for (int i=0; i<dataArr.length;i++) {
        System.out.println(dataArr[i].split(";;;")[0]);
        if (i<10) {
          resultArr[i] = dataArr[i];
        } else {
          for (int k=0;k<resultArr.length;k++) {
            if (Double.valueOf(resultArr[k].split(";;;")[1])>Double.valueOf(dataArr[i].split(";;;")[1])) {
              resultArr[k] = dataArr[i];
              break;
            }
          }
        }
      }
     
      return resultArr;
    }
}
TOP

Related Classes of com.ordobill.webapp.report.PieChart

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.