Example usage for org.jfree.chart ChartFactory createStackedBarChart3D

List of usage examples for org.jfree.chart ChartFactory createStackedBarChart3D

Introduction

In this page you can find the example usage for org.jfree.chart ChartFactory createStackedBarChart3D.

Prototype

public static JFreeChart createStackedBarChart3D(String title, String categoryAxisLabel, String valueAxisLabel,
        CategoryDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls) 

Source Link

Document

Creates a stacked bar chart with a 3D effect and default settings.

Usage

From source file:net.sf.fspdfs.chartthemes.simple.SimpleChartTheme.java

/**
 *
 *///  w  w w .  j a  v a  2  s .c  o  m
protected JFreeChart createStackedBar3DChart() throws JRException {
    ChartFactory.setChartTheme(StandardChartTheme.createLegacyTheme());
    JFreeChart jfreeChart = ChartFactory.createStackedBarChart3D(
            (String) evaluateExpression(getChart().getTitleExpression()),
            (String) evaluateExpression(((JRBar3DPlot) getPlot()).getCategoryAxisLabelExpression()),
            (String) evaluateExpression(((JRBar3DPlot) getPlot()).getValueAxisLabelExpression()),
            (CategoryDataset) getDataset(), getPlot().getOrientation(), isShowLegend(), true, false);

    configureChart(jfreeChart, getPlot());

    CategoryPlot categoryPlot = (CategoryPlot) jfreeChart.getPlot();
    JRBar3DPlot bar3DPlot = (JRBar3DPlot) getPlot();

    StackedBarRenderer3D stackedBarRenderer3D = new StackedBarRenderer3D(
            bar3DPlot.getXOffsetDouble() == null ? StackedBarRenderer3D.DEFAULT_X_OFFSET
                    : bar3DPlot.getXOffsetDouble().doubleValue(),
            bar3DPlot.getYOffsetDouble() == null ? StackedBarRenderer3D.DEFAULT_Y_OFFSET
                    : bar3DPlot.getYOffsetDouble().doubleValue());

    stackedBarRenderer3D.setBaseItemLabelGenerator((CategoryItemLabelGenerator) getLabelGenerator());
    stackedBarRenderer3D.setBaseItemLabelsVisible(bar3DPlot.getShowLabels());

    categoryPlot.setRenderer(stackedBarRenderer3D);

    // Handle the axis formating for the category axis
    configureAxis(categoryPlot.getDomainAxis(), bar3DPlot.getCategoryAxisLabelFont(),
            bar3DPlot.getCategoryAxisLabelColor(), bar3DPlot.getCategoryAxisTickLabelFont(),
            bar3DPlot.getCategoryAxisTickLabelColor(), bar3DPlot.getCategoryAxisTickLabelMask(),
            bar3DPlot.getCategoryAxisVerticalTickLabels(), bar3DPlot.getOwnCategoryAxisLineColor(),
            getDomainAxisSettings(),
            (Comparable) evaluateExpression(bar3DPlot.getDomainAxisMinValueExpression()),
            (Comparable) evaluateExpression(bar3DPlot.getDomainAxisMaxValueExpression()));

    // Handle the axis formating for the value axis
    configureAxis(categoryPlot.getRangeAxis(), bar3DPlot.getValueAxisLabelFont(),
            bar3DPlot.getValueAxisLabelColor(), bar3DPlot.getValueAxisTickLabelFont(),
            bar3DPlot.getValueAxisTickLabelColor(), bar3DPlot.getValueAxisTickLabelMask(),
            bar3DPlot.getValueAxisVerticalTickLabels(), bar3DPlot.getOwnValueAxisLineColor(),
            getRangeAxisSettings(), (Comparable) evaluateExpression(bar3DPlot.getRangeAxisMinValueExpression()),
            (Comparable) evaluateExpression(bar3DPlot.getRangeAxisMaxValueExpression()));

    return jfreeChart;
}

From source file:net.sf.jasperreports.chartthemes.spring.GenericChartTheme.java

/**
 *
 *//*from   ww  w. j  ava 2  s.  c  om*/
protected JFreeChart createStackedBar3DChart() throws JRException {
    ChartFactory.setChartTheme(StandardChartTheme.createLegacyTheme());
    JFreeChart jfreeChart = ChartFactory.createStackedBarChart3D(
            evaluateTextExpression(getChart().getTitleExpression()),
            evaluateTextExpression(((JRBar3DPlot) getPlot()).getCategoryAxisLabelExpression()),
            evaluateTextExpression(((JRBar3DPlot) getPlot()).getValueAxisLabelExpression()),
            (CategoryDataset) getDataset(), getPlot().getOrientationValue().getOrientation(), isShowLegend(),
            true, false);

    configureChart(jfreeChart, getPlot());

    CategoryPlot categoryPlot = (CategoryPlot) jfreeChart.getPlot();
    JRBar3DPlot bar3DPlot = (JRBar3DPlot) getPlot();

    StackedBarRenderer3D stackedBarRenderer3D = new StackedBarRenderer3D(
            bar3DPlot.getXOffsetDouble() == null ? StackedBarRenderer3D.DEFAULT_X_OFFSET
                    : bar3DPlot.getXOffsetDouble(),
            bar3DPlot.getYOffsetDouble() == null ? StackedBarRenderer3D.DEFAULT_Y_OFFSET
                    : bar3DPlot.getYOffsetDouble());

    boolean isShowLabels = bar3DPlot.getShowLabels() == null ? false : bar3DPlot.getShowLabels();
    stackedBarRenderer3D.setBaseItemLabelsVisible(isShowLabels);
    if (isShowLabels) {
        JRItemLabel itemLabel = bar3DPlot.getItemLabel();

        stackedBarRenderer3D.setBaseItemLabelFont(
                getFontUtil().getAwtFont(getFont(itemLabel == null ? null : itemLabel.getFont()), getLocale()));

        if (itemLabel != null) {
            if (itemLabel.getColor() != null) {
                stackedBarRenderer3D.setBaseItemLabelPaint(itemLabel.getColor());
            } else {
                stackedBarRenderer3D.setBaseItemLabelPaint(getChart().getForecolor());
            }
            //            categoryRenderer.setBaseFillPaint(itemLabel.getBackgroundColor());
            //            if(itemLabel.getMask() != null)
            //            {
            //               barRenderer3D.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator(
            //                     StandardCategoryItemLabelGenerator.DEFAULT_LABEL_FORMAT_STRING, 
            //                     new DecimalFormat(itemLabel.getMask())));
            //            }
            //            else
            //            {
            stackedBarRenderer3D.setBaseItemLabelGenerator((CategoryItemLabelGenerator) getLabelGenerator());
            //            }
        } else {
            stackedBarRenderer3D.setBaseItemLabelGenerator((CategoryItemLabelGenerator) getLabelGenerator());
            stackedBarRenderer3D.setBaseItemLabelPaint(getChart().getForecolor());
        }
    }
    categoryPlot.setRenderer(stackedBarRenderer3D);

    // Handle the axis formating for the category axis
    configureAxis(categoryPlot.getDomainAxis(), bar3DPlot.getCategoryAxisLabelFont(),
            bar3DPlot.getCategoryAxisLabelColor(), bar3DPlot.getCategoryAxisTickLabelFont(),
            bar3DPlot.getCategoryAxisTickLabelColor(), bar3DPlot.getCategoryAxisTickLabelMask(),
            bar3DPlot.getCategoryAxisVerticalTickLabels(), bar3DPlot.getOwnCategoryAxisLineColor(), false,
            (Comparable<?>) evaluateExpression(bar3DPlot.getDomainAxisMinValueExpression()),
            (Comparable<?>) evaluateExpression(bar3DPlot.getDomainAxisMaxValueExpression()));

    // Handle the axis formating for the value axis
    configureAxis(categoryPlot.getRangeAxis(), bar3DPlot.getValueAxisLabelFont(),
            bar3DPlot.getValueAxisLabelColor(), bar3DPlot.getValueAxisTickLabelFont(),
            bar3DPlot.getValueAxisTickLabelColor(), bar3DPlot.getValueAxisTickLabelMask(),
            bar3DPlot.getValueAxisVerticalTickLabels(), bar3DPlot.getOwnValueAxisLineColor(), true,
            (Comparable<?>) evaluateExpression(bar3DPlot.getRangeAxisMinValueExpression()),
            (Comparable<?>) evaluateExpression(bar3DPlot.getRangeAxisMaxValueExpression()));

    return jfreeChart;
}

From source file:net.sf.jasperreports.chartthemes.simple.SimpleChartTheme.java

/**
 *
 *//*ww  w  .  ja v  a2 s. c  om*/
protected JFreeChart createStackedBar3DChart() throws JRException {
    ChartFactory.setChartTheme(StandardChartTheme.createLegacyTheme());
    JFreeChart jfreeChart = ChartFactory.createStackedBarChart3D(
            evaluateTextExpression(getChart().getTitleExpression()),
            evaluateTextExpression(((JRBar3DPlot) getPlot()).getCategoryAxisLabelExpression()),
            evaluateTextExpression(((JRBar3DPlot) getPlot()).getValueAxisLabelExpression()),
            (CategoryDataset) getDataset(), getPlot().getOrientationValue().getOrientation(), isShowLegend(),
            true, false);

    configureChart(jfreeChart, getPlot());

    CategoryPlot categoryPlot = (CategoryPlot) jfreeChart.getPlot();
    JRBar3DPlot bar3DPlot = (JRBar3DPlot) getPlot();

    StackedBarRenderer3D stackedBarRenderer3D = new StackedBarRenderer3D(
            bar3DPlot.getXOffsetDouble() == null ? StackedBarRenderer3D.DEFAULT_X_OFFSET
                    : bar3DPlot.getXOffsetDouble(),
            bar3DPlot.getYOffsetDouble() == null ? StackedBarRenderer3D.DEFAULT_Y_OFFSET
                    : bar3DPlot.getYOffsetDouble());

    boolean isShowLabels = bar3DPlot.getShowLabels() == null ? false : bar3DPlot.getShowLabels();
    stackedBarRenderer3D.setBaseItemLabelsVisible(isShowLabels);
    if (isShowLabels) {
        JRItemLabel itemLabel = bar3DPlot.getItemLabel();

        stackedBarRenderer3D.setBaseItemLabelFont(
                getFontUtil().getAwtFont(getFont(itemLabel == null ? null : itemLabel.getFont()), getLocale()));

        if (itemLabel != null) {
            if (itemLabel.getColor() != null) {
                stackedBarRenderer3D.setBaseItemLabelPaint(itemLabel.getColor());
            } else {
                stackedBarRenderer3D.setBaseItemLabelPaint(getChart().getForecolor());
            }
            //            categoryRenderer.setBaseFillPaint(itemLabel.getBackgroundColor());
            //            if(itemLabel.getMask() != null)
            //            {
            //               barRenderer3D.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator(
            //                     StandardCategoryItemLabelGenerator.DEFAULT_LABEL_FORMAT_STRING, 
            //                     new DecimalFormat(itemLabel.getMask())));
            //            }
            //            else
            //            {
            stackedBarRenderer3D.setBaseItemLabelGenerator((CategoryItemLabelGenerator) getLabelGenerator());
            //            }
        } else {
            stackedBarRenderer3D.setBaseItemLabelGenerator((CategoryItemLabelGenerator) getLabelGenerator());
            stackedBarRenderer3D.setBaseItemLabelPaint(getChart().getForecolor());
        }
    }

    categoryPlot.setRenderer(stackedBarRenderer3D);

    // Handle the axis formating for the category axis
    configureAxis(categoryPlot.getDomainAxis(), bar3DPlot.getCategoryAxisLabelFont(),
            bar3DPlot.getCategoryAxisLabelColor(), bar3DPlot.getCategoryAxisTickLabelFont(),
            bar3DPlot.getCategoryAxisTickLabelColor(), bar3DPlot.getCategoryAxisTickLabelMask(),
            bar3DPlot.getCategoryAxisVerticalTickLabels(), bar3DPlot.getOwnCategoryAxisLineColor(),
            getDomainAxisSettings(),
            (Comparable<?>) evaluateExpression(bar3DPlot.getDomainAxisMinValueExpression()),
            (Comparable<?>) evaluateExpression(bar3DPlot.getDomainAxisMaxValueExpression()));

    // Handle the axis formating for the value axis
    configureAxis(categoryPlot.getRangeAxis(), bar3DPlot.getValueAxisLabelFont(),
            bar3DPlot.getValueAxisLabelColor(), bar3DPlot.getValueAxisTickLabelFont(),
            bar3DPlot.getValueAxisTickLabelColor(), bar3DPlot.getValueAxisTickLabelMask(),
            bar3DPlot.getValueAxisVerticalTickLabels(), bar3DPlot.getOwnValueAxisLineColor(),
            getRangeAxisSettings(),
            (Comparable<?>) evaluateExpression(bar3DPlot.getRangeAxisMinValueExpression()),
            (Comparable<?>) evaluateExpression(bar3DPlot.getRangeAxisMaxValueExpression()));

    return jfreeChart;
}

From source file:net.sf.jasperreports.engine.fill.DefaultChartTheme.java

/**
 *
 *///  w  ww . j  a v a2s  . c om
protected JFreeChart createStackedBar3DChart() throws JRException {
    ChartFactory.setChartTheme(StandardChartTheme.createLegacyTheme());
    JFreeChart jfreeChart = ChartFactory.createStackedBarChart3D(
            evaluateTextExpression(getChart().getTitleExpression()),
            evaluateTextExpression(((JRBar3DPlot) getPlot()).getCategoryAxisLabelExpression()),
            evaluateTextExpression(((JRBar3DPlot) getPlot()).getValueAxisLabelExpression()),
            (CategoryDataset) getDataset(), getPlot().getOrientationValue().getOrientation(), isShowLegend(),
            true, false);

    configureChart(jfreeChart);

    CategoryPlot categoryPlot = (CategoryPlot) jfreeChart.getPlot();
    JRBar3DPlot bar3DPlot = (JRBar3DPlot) getPlot();

    StackedBarRenderer3D stackedBarRenderer3D = new StackedBarRenderer3D(
            bar3DPlot.getXOffsetDouble() == null ? StackedBarRenderer3D.DEFAULT_X_OFFSET
                    : bar3DPlot.getXOffsetDouble(),
            bar3DPlot.getYOffsetDouble() == null ? StackedBarRenderer3D.DEFAULT_Y_OFFSET
                    : bar3DPlot.getYOffsetDouble());
    boolean isShowLabels = bar3DPlot.getShowLabels() == null ? false : bar3DPlot.getShowLabels();
    stackedBarRenderer3D.setBaseItemLabelsVisible(isShowLabels);
    if (isShowLabels) {
        JRItemLabel itemLabel = bar3DPlot.getItemLabel();

        stackedBarRenderer3D.setBaseItemLabelFont(
                fontUtil.getAwtFont(getFont(itemLabel == null ? null : itemLabel.getFont()), getLocale()));

        if (itemLabel != null) {
            if (itemLabel.getColor() != null) {
                stackedBarRenderer3D.setBaseItemLabelPaint(itemLabel.getColor());
            } else {
                stackedBarRenderer3D.setBaseItemLabelPaint(getChart().getForecolor());
            }
            //            categoryRenderer.setBaseFillPaint(itemLabel.getBackgroundColor());
            //            if (itemLabel.getMask() != null)
            //            {
            //               barRenderer3D.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator(
            //                     StandardCategoryItemLabelGenerator.DEFAULT_LABEL_FORMAT_STRING, 
            //                     new DecimalFormat(itemLabel.getMask())));
            //            }
            //            else
            //            {
            stackedBarRenderer3D.setBaseItemLabelGenerator((CategoryItemLabelGenerator) getLabelGenerator());
            //            }
        } else {
            stackedBarRenderer3D.setBaseItemLabelGenerator((CategoryItemLabelGenerator) getLabelGenerator());
            stackedBarRenderer3D.setBaseItemLabelPaint(getChart().getForecolor());
        }
    }
    categoryPlot.setRenderer(stackedBarRenderer3D);

    // Handle the axis formating for the category axis
    configureAxis(categoryPlot.getDomainAxis(), bar3DPlot.getCategoryAxisLabelFont(),
            bar3DPlot.getCategoryAxisLabelColor(), bar3DPlot.getCategoryAxisTickLabelFont(),
            bar3DPlot.getCategoryAxisTickLabelColor(), bar3DPlot.getCategoryAxisTickLabelMask(),
            bar3DPlot.getCategoryAxisVerticalTickLabels(), bar3DPlot.getCategoryAxisLineColor(), false,
            (Comparable<?>) evaluateExpression(bar3DPlot.getDomainAxisMinValueExpression()),
            (Comparable<?>) evaluateExpression(bar3DPlot.getDomainAxisMaxValueExpression()));

    // Handle the axis formating for the value axis
    configureAxis(categoryPlot.getRangeAxis(), bar3DPlot.getValueAxisLabelFont(),
            bar3DPlot.getValueAxisLabelColor(), bar3DPlot.getValueAxisTickLabelFont(),
            bar3DPlot.getValueAxisTickLabelColor(), bar3DPlot.getValueAxisTickLabelMask(),
            bar3DPlot.getValueAxisVerticalTickLabels(), bar3DPlot.getValueAxisLineColor(), true,
            (Comparable<?>) evaluateExpression(bar3DPlot.getRangeAxisMinValueExpression()),
            (Comparable<?>) evaluateExpression(bar3DPlot.getRangeAxisMaxValueExpression()));

    return jfreeChart;
}

From source file:cnu.eslab.fileTest.NewJFrame.java

@Override
public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub
    if (e.getSource() == mFileBtn) {
        if (mJFileChooser != null) {
            //  ? ??    ?.
            if (mFileName != null) {
                String dir = mFileName.getAbsolutePath(); //  ?? 
                //   .
                mJFileChooser = new JFileChooser(dir);
            }// w  ww  .  ja va2 s .c  o  m
            int returnVal = mJFileChooser.showOpenDialog(this);

            if (returnVal != JFileChooser.APPROVE_OPTION)
                return; //     .

            mFileName = mJFileChooser.getSelectedFile();
            mFilePathTextField.setText(mFileName.getAbsolutePath());

        }
    } else if (e.getSource() == mGPSCheckBox) {
        FLAG_GPS_STATE = mGPSCheckBox.isSelected();
    } else if (e.getSource() == mAudioCheckBox) {
        FLAG_AUDIO_STATE = mAudioCheckBox.isSelected();
    } else if (e.getSource() == mParsingBtn) {
        // List  .
        listModel.clear();
        //   ? ?? ?  .
        mCFileStream.setFileName(mFileName.getAbsolutePath());
        // UID  ? . ?   .
        try {
            mUidArrayList = mCFileStream.ParsingUID();
        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

        for (int i = 0; i < mUidArrayList.size(); i++) {
            listModel.addElement(mUidArrayList.get(i));
        }
    } else if (e.getSource() == mTotalPowerBtn) {
        try {
            int LastUnit = 50; //  ?   ?.
            double totalSum = 0.0, mean = 0.0;
            // ? ?  .
            mTotalPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_POWER);
            // ? .
            mTimeArrayList = mCFileStream.ParsingTime();
            //?  
            PrintWriter out = new PrintWriter(new FileWriter("TotalPower.txt"));
            for (int i = 0; i < mTotalPowerArrayList.size(); i++) {
                out.printf("%s %d\n", mTimeArrayList.get(i), mTotalPowerArrayList.get(i));
                out.flush();
            }
            out.close();

            /*
            // 50  ??  .
            for (int i = 0; i < mTotalPowerArrayList.size(); i += 50) {
               totalSum = 0.0; //  .
               mean = 0.0;
               for (int j = 0; j < 50; j++) {
                  if ((j + i) >= mTotalPowerArrayList.size()) {
             LastUnit = j;
             break; // ???   .
                  }
                  totalSum += mTotalPowerArrayList.get(j + i);
               }
               mean = totalSum / LastUnit;
               System.out.printf("%f\n", mean);
            }*/

            LineGraphGenerate(mTotalPowerArrayList, "Line Graph", "Total Power Consumption",
                    "Total Power Value");
        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    }
    //?  stack   ? 
    else if (e.getSource() == mPhoneTotalStackPowerBtn) {
        try {

            // ? 
            if (listModelUidDelte.getSize() == 0) {
                //? H/W component  Stack Grap? . ? Grap? Line? ? ? ?.
                StackedXYAreaRenderer(mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_CPU_POWER),
                        mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_WIFI_POWER),
                        mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_LED_POWER),
                        mCFileStream.ParsingPowerConsumption(mSearchUid, GPS_POWER),
                        mCFileStream.ParsingPowerConsumption(mSearchUid, AUDIO_POWER),
                        mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_THREEG_POWER));
            } else {
                //? ?  arraylist?  .
                mCpuPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_CPU_POWER);
                mWifiPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_WIFI_POWER);
                mLedPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_LED_POWER);
                mThreeGPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_THREEG_POWER);
                mGpsPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, GPS_POWER);
                mAudioPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, AUDIO_POWER);

                // ?  UID? Power? ? ?   ArrayList  .
                processUidDeletePower();
                //CPU,WIFI,LED,GPS,AUDIO,3G  .
                StackedXYAreaRenderer(mCpuPowerArrayList, mWifiPowerArrayList, mLedPowerArrayList,
                        mGpsPowerArrayList, mAudioPowerArrayList, mThreeGPowerArrayList);
            }
        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    } else if (e.getSource() == mBatteryCapacityBtn) {
        try {
            mBatteryCapacityArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, BATTERY_CAPACITY);
            LineGraphGenerate(mBatteryCapacityArrayList, "Line Graph", "Battery Capacity",
                    "Battery Capacity (%)");
        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

    } else if (e.getSource() == mCpuBtn) {
        try {
            mCpuPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, CPU_POWER);
            LineGraphGenerate(mCpuPowerArrayList, "Line Graph", "CPU Power Consumption", "CPU Power Value");
        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    } else if (e.getSource() == mWifiBtn) {
        try {
            mWifiPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, WIFI_POWER);
            LineGraphGenerate(mWifiPowerArrayList, "Line Graph", "WIFI Power Consumption", "WIFI Power Value");
        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    } else if (e.getSource() == m3GBtn) {
        try {
            mThreeGPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, THREEG_POWER);
            LineGraphGenerate(mThreeGPowerArrayList, "Line Graph", "ThreeG Power Consumption",
                    "ThreeG Power Value");
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        }

    } else if (e.getSource() == mLedBtn) {
        try {
            mLedPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, LED_POWER);
            LineGraphGenerate(mLedPowerArrayList, "Line Graph", "LED Power Consumption", "LED Power Value");
        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    } else if (e.getSource() == mGpsBtn) {
        try {
            mGpsPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, GPS_POWER);
            LineGraphGenerate(mGpsPowerArrayList, "Line Graph", "GPS Power Consumption", "GPS Power Value");
        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    } else if (e.getSource() == mAudioBtn) {
        try {
            mAudioPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, AUDIO_POWER);
            LineGraphGenerate(mAudioPowerArrayList, "Line Graph", "AUDIO Power Consumption",
                    "Audio Power Value");
        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    }
    //?  ?  . (UID ? .)
    else if (e.getSource() == mComponentWIFIBtn) {
        try {
            mComponentWifiArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_WIFI_POWER);
            LineGraphGenerate(mComponentWifiArrayList, "Line Graph", "ComponentWifi Power Consumption",
                    "ComponentWifi Power Value");
        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    }
    // ? ?    ?.
    else if (e.getSource() == mDevicesPowerButton) {

        int maxCPU = 0;
        int maxWIFI = 0;
        int maxThree = 0;
        int maxLED = 0;
        int maxGPS = 0;
        int maxAUDIO = 0;

        try {
            maxCPU = maxEvaluation(mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_CPU_POWER));
            maxWIFI = maxEvaluation(mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_WIFI_POWER));
            maxThree = maxEvaluation(mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_THREEG_POWER));
            maxLED = maxEvaluation(mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_LED_POWER));
            maxGPS = maxEvaluation(mCFileStream.ParsingPowerConsumption(mSearchUid, GPS_POWER));
            maxAUDIO = maxEvaluation(mCFileStream.ParsingPowerConsumption(mSearchUid, AUDIO_POWER));

            System.out.println("CPU " + maxCPU);
            System.out.println("WIFI " + maxWIFI);
            System.out.println("3G " + maxThree);
            System.out.println("LED " + maxLED);
            System.out.println("GPS " + maxGPS);
            System.out.println("AUDIO " + maxAUDIO);
        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

    }
    //Component Pipe Diagram make function.
    else if (e.getSource() == mComponentPieBtn) {
        double[] value = new double[6];
        String[] group = new String[6];
        group[0] = "CPU Power";
        group[1] = "WIFI Power";
        group[2] = "LED Power";
        group[3] = "GPS Power";
        group[4] = "AUDIO Power";
        group[5] = "3G Power";
        value[0] = 0.0;
        value[1] = 0.0;
        value[2] = 0.0;
        value[3] = 0.0;
        value[4] = 0.0;
        value[5] = 0.0;

        int totalPowerValue = 0;
        if (mFirstRangeText.getText() != "") {
            //   .
            mFirstRange = Integer.parseInt(mFirstRangeText.getText());
            mSecondRange = Integer.parseInt(mSecondRangeText.getText());

            // ?  ?.
            try {
                mCpuPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_CPU_POWER);
                mWifiPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_WIFI_POWER);
                mLedPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_LED_POWER);
                mGpsPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, GPS_POWER);
                mAudioPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, AUDIO_POWER);
                mThreeGPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_THREEG_POWER);

                processUidDeletePower(); //  ? ? .

                for (int i = mFirstRange; i <= mSecondRange; i++) {
                    //  ? ?  .
                    value[0] += (double) mCpuPowerArrayList.get(i);
                    value[1] += (double) mWifiPowerArrayList.get(i);
                    value[2] += (double) mLedPowerArrayList.get(i);
                    value[5] += (double) mThreeGPowerArrayList.get(i);
                    if (FLAG_GPS_STATE == true && FLAG_AUDIO_STATE == true) {
                        value[3] += (double) mGpsPowerArrayList.get(i);
                        value[4] += (double) mAudioPowerArrayList.get(i);
                    } else if (FLAG_GPS_STATE == true && FLAG_AUDIO_STATE == false) {
                        value[3] += (double) mGpsPowerArrayList.get(i);
                        value[4] = 0.0;
                    } else if (FLAG_GPS_STATE == false && FLAG_AUDIO_STATE == true) {
                        value[3] = 0.0;
                        value[4] += (double) mAudioPowerArrayList.get(i);
                    }
                }

            } catch (FileNotFoundException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }

            PieGraphGenerate(group, value, "", "");
        }
    }
    // Pipe ?? ? ??  
    else if (e.getSource() == mUidPieDiagramBtn) {
        double[] value = new double[6];
        String[] group = new String[6];
        group[0] = "CPU Power";
        group[1] = "WIFI Power";
        group[2] = "LED Power";
        group[3] = "GPS Power";
        group[4] = "AUDIO Power";
        group[5] = "3G Power";
        value[0] = 0.0;
        value[1] = 0.0;
        value[2] = 0.0;
        value[3] = 0.0;
        value[4] = 0.0;
        value[5] = 0.0;

        int totalPowerValue = 0;
        if (mFirstRangeText.getText() != "") {
            //   .
            mFirstRange = Integer.parseInt(mFirstRangeText.getText());
            mSecondRange = Integer.parseInt(mSecondRangeText.getText());

            // ?  ?.
            try {
                mCpuPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, CPU_POWER);
                mWifiPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, WIFI_POWER);
                mLedPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, LED_POWER);
                mGpsPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, GPS_POWER);
                mAudioPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, AUDIO_POWER);
                mThreeGPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, THREEG_POWER);

                //  ? ??    ?.
                mTotalPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_POWER);

                for (int i = mFirstRange; i <= mSecondRange; i++) {
                    //  ? ?  .
                    value[0] += (double) mCpuPowerArrayList.get(i);
                    value[1] += (double) mWifiPowerArrayList.get(i);
                    value[2] += (double) mLedPowerArrayList.get(i);
                    value[5] += (double) mThreeGPowerArrayList.get(i);
                    if (FLAG_GPS_STATE == true && FLAG_AUDIO_STATE == true) {
                        value[3] += (double) mGpsPowerArrayList.get(i);
                        value[4] += (double) mAudioPowerArrayList.get(i);
                    } else if (FLAG_GPS_STATE == true && FLAG_AUDIO_STATE == false) {
                        value[3] += (double) mGpsPowerArrayList.get(i);
                        value[4] = 0.0;
                    } else if (FLAG_GPS_STATE == false && FLAG_AUDIO_STATE == true) {
                        value[3] = 0.0;
                        value[4] += (double) mAudioPowerArrayList.get(i);
                    }
                    totalPowerValue += mTotalPowerArrayList.get(i);
                }
                System.out.println(totalPowerValue);
            } catch (FileNotFoundException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }

            PieGraphGenerate(group, value, "", "");
        }
    }
    //Component  .
    else if (e.getSource() == mComponentLEDBtn) {

    }
    // 3D bar chart Range? ??  .
    else if (e.getSource() == m3DBarChartMean) {
        int unit = 0;
        int sumCPU = 0;
        int sumWIFI = 0;
        int sumLED = 0;
        int sumGPS = 0;
        int sumAUDIO = 0;
        int sumThree = 0;
        int totalsum = 0;
        int powtotalsum = 0;
        int LastUnit = 0;
        double mean;
        double totalmean;
        double Powe2mean;
        boolean flagGPS = false;
        boolean flagAUDIO = false;

        // ? ? ? .
        flagGPS = mGPSCheckBox.isSelected();
        flagAUDIO = mAudioCheckBox.isSelected();

        ArrayList<Double> mTotalArrayList = new ArrayList<Double>();
        ArrayList<Double> mUnitCPUArrayList = new ArrayList<Double>();
        ArrayList<Double> mUnitWIFIPowerArrayList = new ArrayList<Double>();
        ArrayList<Double> mUnitThreePowerArrayList = new ArrayList<Double>();
        ArrayList<Double> mUnitLEDPowerArrayList = new ArrayList<Double>();
        ArrayList<Double> mUnitGPSPowerArrayList = new ArrayList<Double>();
        ArrayList<Double> mUnitAUDIOPowerArrayList = new ArrayList<Double>();

        if (mChartMeanUnitTextField.getText() != "") {
            unit = Integer.parseInt(mChartMeanUnitTextField.getText());
            //  ??  ?   ?? ? ?. (e.g 1 ?? ?? 40
            // ? ? ? ?.
            // ? ??  ?      ?   .
            LastUnit = Integer.parseInt(mChartMeanUnitTextField.getText());
        }
        // ? Power ? .
        try {

            mCpuPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_CPU_POWER);
            mWifiPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_WIFI_POWER);
            mThreeGPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_THREEG_POWER);
            mLedPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, TOTAL_LED_POWER);
            mGpsPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, GPS_POWER);
            mAudioPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, AUDIO_POWER);

        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

        // list   .
        processUidDeletePower();

        // unit ? ??  .
        for (int i = 0; i < mCpuPowerArrayList.size(); i += unit) {
            sumCPU = 0;
            sumWIFI = 0;
            sumThree = 0;
            sumLED = 0;
            sumGPS = 0;
            sumAUDIO = 0;

            totalsum = 0;
            powtotalsum = 0;

            for (int j = 0; j < unit; j++) {
                if ((j + i) >= mCpuPowerArrayList.size()) {
                    // ?   . ?  ??  ?.
                    LastUnit = j; // ?  ?  .
                    break;
                }
                sumCPU += mCpuPowerArrayList.get(j + i);
                sumWIFI += mWifiPowerArrayList.get(j + i);
                sumThree += mThreeGPowerArrayList.get(j + i);
                sumLED += mLedPowerArrayList.get(j + i);

                // ? ? ? .
                if (flagGPS == true && flagAUDIO == true) {
                    sumGPS += mGpsPowerArrayList.get(j + i);
                    sumAUDIO += mAudioPowerArrayList.get(j + i);

                    totalsum = mCpuPowerArrayList.get(j + i) + mWifiPowerArrayList.get(j + i)
                            + mThreeGPowerArrayList.get(j + i) + mLedPowerArrayList.get(j + i)
                            + mGpsPowerArrayList.get(j + i) + mAudioPowerArrayList.get(j + i);

                } else if (flagGPS == true && flagAUDIO == false) {
                    sumGPS += mGpsPowerArrayList.get(j + i);

                    totalsum = mCpuPowerArrayList.get(j + i) + mWifiPowerArrayList.get(j + i)
                            + mThreeGPowerArrayList.get(j + i) + mLedPowerArrayList.get(j + i)
                            + mGpsPowerArrayList.get(j + i);
                } else if (flagGPS == false && flagAUDIO == true) {
                    sumAUDIO += mAudioPowerArrayList.get(j + i);

                    totalsum = mCpuPowerArrayList.get(j + i) + mWifiPowerArrayList.get(j + i)
                            + mThreeGPowerArrayList.get(j + i) + mLedPowerArrayList.get(j + i)
                            + mAudioPowerArrayList.get(j + i);
                } else {
                    totalsum = mCpuPowerArrayList.get(j + i) + mWifiPowerArrayList.get(j + i)
                            + mThreeGPowerArrayList.get(j + i) + mLedPowerArrayList.get(j + i);
                }
                powtotalsum += (int) Math.pow(totalsum, 2);
                totalsum = 0;

            }

            /*
             * LastUnit? break?   ? ?    ? . ? ??
             * ? ? ? ?  ? .
             */
            mean = sumCPU / LastUnit;
            mUnitCPUArrayList.add(mean);
            mean = sumWIFI / LastUnit;
            mUnitWIFIPowerArrayList.add(mean);
            mean = sumThree / LastUnit;
            mUnitThreePowerArrayList.add(mean);
            mean = sumLED / LastUnit;
            mUnitLEDPowerArrayList.add(mean);

            if ((flagGPS == true) && (flagAUDIO == true)) {
                mean = sumGPS / LastUnit;
                mUnitGPSPowerArrayList.add(mean);
                mean = sumAUDIO / LastUnit;
                mUnitAUDIOPowerArrayList.add(mean);

                totalmean = (sumCPU + sumWIFI + sumThree + sumLED + sumGPS + sumAUDIO) / LastUnit;
                //  .
                Powe2mean = Math.sqrt((powtotalsum / LastUnit)
                        - Math.pow(((sumCPU + sumWIFI + sumThree + sumLED + sumGPS + sumAUDIO) / LastUnit), 2));
                // ?   .
                /*               System.out.println((i / 60) + ": ?: " + totalmean
                                     + " : " + Powe2mean);*/
                System.out.println("" + totalmean);
            } else if ((flagGPS == true) && (flagAUDIO == false)) {
                mean = sumGPS / LastUnit;
                mUnitGPSPowerArrayList.add(mean);
                mUnitAUDIOPowerArrayList.add(0.0);

                totalmean = (sumCPU + sumWIFI + sumLED + sumGPS) / LastUnit;
                //  .
                Powe2mean = Math.sqrt((powtotalsum / LastUnit)
                        - Math.pow(((sumCPU + sumWIFI + sumThree + sumLED + sumGPS) / LastUnit), 2));
                /*System.out.println((i / 60) + ": ?: " + totalmean
                      + " : " + Powe2mean);*/
                System.out.println("" + totalmean);
            } else if (flagGPS == false && flagAUDIO == true) {
                mUnitGPSPowerArrayList.add(0.0);
                mean = sumAUDIO / LastUnit;
                mUnitAUDIOPowerArrayList.add(mean);

                totalmean = (sumCPU + sumWIFI + sumLED + sumAUDIO) / LastUnit;
                //  .
                Powe2mean = Math.sqrt((powtotalsum / LastUnit)
                        - Math.pow(((sumCPU + sumWIFI + sumThree + sumLED + sumAUDIO) / LastUnit), 2));
                /*System.out.println((i / 60) + ": ?: " + totalmean
                      + " : " + Powe2mean);*/
                System.out.println("" + totalmean);
            } else {
                mUnitGPSPowerArrayList.add(0.0);
                mUnitAUDIOPowerArrayList.add(0.0);

                totalmean = (sumCPU + sumWIFI + sumLED) / LastUnit;
                //  .
                Powe2mean = Math.sqrt((powtotalsum / LastUnit)
                        - Math.pow(((sumCPU + sumWIFI + sumThree + sumLED) / LastUnit), 2));
                /*System.out.println((i / 60) + ": ?: " + totalmean
                      + " : " + Powe2mean);*/
                System.out.println("" + totalmean);
            }

        }

        for (int i = 0; i < mUnitCPUArrayList.size(); i++) {
            double sum = mUnitCPUArrayList.get(i) + mUnitWIFIPowerArrayList.get(i)
                    + mUnitThreePowerArrayList.get(i) + mUnitLEDPowerArrayList.get(i)
                    + mUnitGPSPowerArrayList.get(i) + mUnitAUDIOPowerArrayList.get(i);
            System.out.println("" + sum);
        }
        // 3D bar chart ? .
        StackedBarChart3D(mUnitCPUArrayList, mUnitWIFIPowerArrayList, mUnitThreePowerArrayList,
                mUnitLEDPowerArrayList, mUnitGPSPowerArrayList, mUnitAUDIOPowerArrayList);

    }
    // ? App Line  ?.
    else if (e.getSource() == mAppTotalPowerBtn) {
        int totalPower;
        ArrayList<Integer> mUidTotalPowerArrayList = new ArrayList<Integer>();
        try {

            mCpuPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, CPU_POWER);
            mWifiPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, WIFI_POWER);
            mLedPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, LED_POWER);
            mGpsPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, GPS_POWER);
            mAudioPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, AUDIO_POWER);

            /* log ?  */
            mLogScaleTextFiled.setText(String.format("%d", mCpuPowerArrayList.size() - 1));

        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        // uid  ? Line Grahp .
        for (int i = 0; i < mCpuPowerArrayList.size(); i++) {
            totalPower = mCpuPowerArrayList.get(i) + mWifiPowerArrayList.get(i) + mLedPowerArrayList.get(i);
            if (FLAG_GPS_STATE == true && FLAG_AUDIO_STATE == true) {
                totalPower += mGpsPowerArrayList.get(i) + mAudioPowerArrayList.get(i);
            } else if (FLAG_GPS_STATE == true && FLAG_AUDIO_STATE == false) {
                totalPower += mGpsPowerArrayList.get(i);
            } else if (FLAG_GPS_STATE == false && FLAG_AUDIO_STATE == true) {
                totalPower += mAudioPowerArrayList.get(i);
            }
            mUidTotalPowerArrayList.add(totalPower);
        }
        LineGraphGenerate(mUidTotalPowerArrayList, "Line Graph", "App Total Power", "Power Value");
    }
    // ? App XY Area ?.
    else if (e.getSource() == mAppStackedPower) {
        try {
            mCpuPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, CPU_POWER);
            mWifiPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, WIFI_POWER);
            mLedPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, LED_POWER);
            mGpsPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, GPS_POWER);
            mAudioPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, AUDIO_POWER);
            mThreeGPowerArrayList = mCFileStream.ParsingPowerConsumption(mSearchUid, THREEG_POWER);
        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        StackedXYAreaRenderer(mCpuPowerArrayList, mWifiPowerArrayList, mLedPowerArrayList, mGpsPowerArrayList,
                mAudioPowerArrayList, mThreeGPowerArrayList);
    }
    // List? ???  
    else if (e.getSource() == mDeleteUidMoveBtn) {
        listModelUidDelte.addElement(mSearchUid); //? UID  UID List ?? .
    }
    // List?  UID 
    else if (e.getSource() == mDeleteAllBtn) {
        listModelUidDelte.clear();
    }
    // List? ? UID 
    else if (e.getSource() == mDeleteOneBtn) {
        listModelUidDelte.remove(mDeleteList.getSelectedIndex());

    }
    //?   ?  ?.
    else if (e.getSource() == mTotalCompareBtn) {
        DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
        DefaultStatisticalCategoryDataset defaultstatisticalcategorydataset = new DefaultStatisticalCategoryDataset();

        //? (?) sd 157.97
        defaultcategorydataset.addValue(167, "CPU Power(mW)", "MYPEOPLE-Voice");
        defaultcategorydataset.addValue(400, "WIFI Power(mW)", "MYPEOPLE-Voice");
        defaultcategorydataset.addValue(0, "3G Power(mW)", "MYPEOPLE-Voice");
        defaultcategorydataset.addValue(0, "LED Power(mW)", "MYPEOPLE-Voice");
        defaultcategorydataset.addValue(0, "GPS Power(mW)", "MYPEOPLE-Voice");
        defaultcategorydataset.addValue(0, "AUDIO Power(mW)", "MYPEOPLE-Voice");
        //?(??) sd 144.44
        defaultcategorydataset.addValue(197, "CPU Power(mW)", "MYPEOPLE-Video");
        defaultcategorydataset.addValue(404, "WIFI Power(mW)", "MYPEOPLE-Video");
        defaultcategorydataset.addValue(0, "3G Power(mW)", "MYPEOPLE-Video");
        defaultcategorydataset.addValue(399, "LED Power(mW)", "MYPEOPLE-Video");
        defaultcategorydataset.addValue(0, "GPS Power(mW)", "MYPEOPLE-Video");
        defaultcategorydataset.addValue(0, "AUDIO Power(mW)", "MYPEOPLE-Video");
        // sd : 246.80
        defaultcategorydataset.addValue(91, "CPU Power(mW)", "KAKAo-Talk");
        defaultcategorydataset.addValue(110, "WIFI Power(mW)", "KAKAo-Talk");
        defaultcategorydataset.addValue(0, "3G Power(mW)", "KAKAo-Talk");
        defaultcategorydataset.addValue(454, "LED Power(mW)", "KAKAo-Talk");
        defaultcategorydataset.addValue(0, "GPS Power(mW)", "KAKAo-Talk");
        defaultcategorydataset.addValue(0, "AUDIO Power(mW)", "KAKAo-Talk");
        // sd : 188.30
        defaultcategorydataset.addValue(134, "CPU Power(mW)", "Angry-Birds");
        defaultcategorydataset.addValue(66, "WIFI Power(mW)", "Angry-Birds");
        defaultcategorydataset.addValue(0, "3G Power(mW)", "Angry-Birds");
        defaultcategorydataset.addValue(528, "LED Power(mW)", "Angry-Birds");
        defaultcategorydataset.addValue(0, "GPS Power(mW)", "Angry-Birds");
        defaultcategorydataset.addValue(103, "AUDIO Power(mW)", "Angry-Birds");
        // sd : 233.50
        defaultcategorydataset.addValue(40, "CPU Power(mW)", "Youtube");
        defaultcategorydataset.addValue(131, "WIFI Power(mW)", "Youtube");
        defaultcategorydataset.addValue(0, "3G Power(mW)", "Youtube");
        defaultcategorydataset.addValue(474, "LED Power(mW)", "Youtube");
        defaultcategorydataset.addValue(0, "GPS Power(mW)", "Youtube");
        defaultcategorydataset.addValue(91, "AUDIO Power(mW)", "Youtube");
        //?  sd : 301.80
        defaultcategorydataset.addValue(382, "CPU Power(mW)", "Web-Browser");
        defaultcategorydataset.addValue(0, "WIFI Power(mW)", "Web-Browser");
        defaultcategorydataset.addValue(823, "3G Power(mW)", "Web-Browser");
        defaultcategorydataset.addValue(570, "LED Power(mW)", "Web-Browser");
        defaultcategorydataset.addValue(0, "GPS Power(mW)", "Web-Browser");
        defaultcategorydataset.addValue(0, "AUDIO Power(mW)", "Web-Browser");

        defaultcategorydataset.addValue(60, "CPU Power(mW)", "Google-Map");
        defaultcategorydataset.addValue(0, "WIFI Power(mW)", "Google-Map");
        defaultcategorydataset.addValue(750, "3G Power(mW)", "Google-Map");
        defaultcategorydataset.addValue(538, "LED Power(mW)", "Google-Map");
        defaultcategorydataset.addValue(244, "GPS Power(mW)", "Google-Map");
        defaultcategorydataset.addValue(0, "AUDIO Power(mW)", "Google-Map");

        JFreeChart jfreechart = ChartFactory.createStackedBarChart3D("", "Application Name", "Power(mW)",
                defaultcategorydataset, PlotOrientation.HORIZONTAL, true, true, false);

        CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
        categoryplot.setBackgroundPaint(new Color(255, 255, 255));// 
        // ?  ?.
        // IntervalMarker intervalmarker = new IntervalMarker(5D, 10D,
        // Color.gray, new BasicStroke(0.5F), Color.blue, new BasicStroke(0.5F),
        // 0.5F);
        // categoryplot.addRangeMarker(intervalmarker);

        BarRenderer barrenderer = (BarRenderer) categoryplot.getRenderer();
        barrenderer.setDrawBarOutline(false);
        barrenderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
        barrenderer.setBaseItemLabelsVisible(true);
        barrenderer.setBasePositiveItemLabelPosition(
                new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER));
        barrenderer.setBaseNegativeItemLabelPosition(
                new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER));

        // JFrame?  ?.
        ChartPanel chartPanel = new ChartPanel(jfreechart);
        JFrame f = new JFrame("");
        f.setSize(600, 600);
        f.getContentPane().add(chartPanel);

        // f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);

    }
    // ? ? ?   . 
    else if (e.getSource() == mCompareAppPowerBtn) {
        DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
        DefaultStatisticalCategoryDataset defaultstatisticalcategorydataset = new DefaultStatisticalCategoryDataset();

        //? (?) sd 38.6
        defaultcategorydataset.addValue(313, "CPU Power(mW)", "MYPEOPLE-Voice");
        defaultcategorydataset.addValue(404, "WIFI Power(mW)", "MYPEOPLE-Voice");
        defaultcategorydataset.addValue(0, "3G Power(mW)", "MYPEOPLE-Voice");
        defaultcategorydataset.addValue(0, "LED Power(mW)", "MYPEOPLE-Voice");
        defaultcategorydataset.addValue(0, "GPS Power(mW)", "MYPEOPLE-Voice");
        defaultcategorydataset.addValue(0, "AUDIO Power(mW)", "MYPEOPLE-Voice");
        //?(??) sd 144.44
        defaultcategorydataset.addValue(277, "CPU Power(mW)", "MYPEOPLE-Video");
        defaultcategorydataset.addValue(396, "WIFI Power(mW)", "MYPEOPLE-Video");
        defaultcategorydataset.addValue(0, "3G Power(mW)", "MYPEOPLE-Video");
        defaultcategorydataset.addValue(411, "LED Power(mW)", "MYPEOPLE-Video");
        defaultcategorydataset.addValue(0, "GPS Power(mW)", "MYPEOPLE-Video");
        defaultcategorydataset.addValue(0, "AUDIO Power(mW)", "MYPEOPLE-Video");

        defaultcategorydataset.addValue(93, "CPU Power(mW)", "KAKAo-Talk");
        defaultcategorydataset.addValue(166, "WIFI Power(mW)", "KAKAo-Talk");
        defaultcategorydataset.addValue(0, "3G Power(mW)", "KAKAo-Talk");
        defaultcategorydataset.addValue(465, "LED Power(mW)", "KAKAo-Talk");
        defaultcategorydataset.addValue(0, "GPS Power(mW)", "KAKAo-Talk");
        defaultcategorydataset.addValue(0, "AUDIO Power(mW)", "KAKAo-Talk");

        defaultcategorydataset.addValue(149, "CPU Power(mW)", "Angry-Birds");
        defaultcategorydataset.addValue(88, "WIFI Power(mW)", "Angry-Birds");
        defaultcategorydataset.addValue(0, "3G Power(mW)", "Angry-Birds");
        defaultcategorydataset.addValue(534, "LED Power(mW)", "Angry-Birds");
        defaultcategorydataset.addValue(0, "GPS Power(mW)", "Angry-Birds");
        defaultcategorydataset.addValue(106, "AUDIO Power(mW)", "Angry-Birds");

        defaultcategorydataset.addValue(32, "CPU Power(mW)", "Youtube");
        defaultcategorydataset.addValue(136, "WIFI Power(mW)", "Youtube");
        defaultcategorydataset.addValue(0, "3G Power(mW)", "Youtube");
        defaultcategorydataset.addValue(520, "LED Power(mW)", "Youtube");
        defaultcategorydataset.addValue(0, "GPS Power(mW)", "Youtube");
        defaultcategorydataset.addValue(103, "AUDIO Power(mW)", "Youtube");

        defaultcategorydataset.addValue(411, "CPU Power(mW)", "Web-Browser");
        defaultcategorydataset.addValue(0, "WIFI Power(mW)", "Web-Browser");
        defaultcategorydataset.addValue(883, "3G Power(mW)", "Web-Browser");
        defaultcategorydataset.addValue(626, "LED Power(mW)", "Web-Browser");
        defaultcategorydataset.addValue(0, "GPS Power(mW)", "Web-Browser");
        defaultcategorydataset.addValue(0, "AUDIO Power(mW)", "Web-Browser");

        defaultcategorydataset.addValue(94, "CPU Power(mW)", "Google-Map");
        defaultcategorydataset.addValue(0, "WIFI Power(mW)", "Google-Map");
        defaultcategorydataset.addValue(902, "3G Power(mW)", "Google-Map");
        defaultcategorydataset.addValue(581, "LED Power(mW)", "Google-Map");
        defaultcategorydataset.addValue(268, "GPS Power(mW)", "Google-Map");
        defaultcategorydataset.addValue(0, "AUDIO Power(mW)", "Google-Map");

        JFreeChart jfreechart = ChartFactory.createStackedBarChart3D("", "Application Name", "Power(mW)",
                defaultcategorydataset, PlotOrientation.HORIZONTAL, true, true, false);

        CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
        categoryplot.setBackgroundPaint(new Color(255, 255, 255));// 
        // ?  ?.
        // IntervalMarker intervalmarker = new IntervalMarker(5D, 10D,
        // Color.gray, new BasicStroke(0.5F), Color.blue, new BasicStroke(0.5F),
        // 0.5F);
        // categoryplot.addRangeMarker(intervalmarker);

        BarRenderer barrenderer = (BarRenderer) categoryplot.getRenderer();
        barrenderer.setDrawBarOutline(false);
        barrenderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
        barrenderer.setBaseItemLabelsVisible(true);
        barrenderer.setBasePositiveItemLabelPosition(
                new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER));
        barrenderer.setBaseNegativeItemLabelPosition(
                new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER));

        // JFrame?  ?.
        ChartPanel chartPanel = new ChartPanel(jfreechart);
        JFrame f = new JFrame("");
        f.setSize(600, 600);
        f.getContentPane().add(chartPanel);

        // f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);

    }
}

From source file:cnu.eslab.fileTest.NewJFrame.java

public void StackedBarChart3D(ArrayList<Double> arCpuArrayList, ArrayList<Double> arWifiArrayList,
        ArrayList<Double> arThreeArrayList, ArrayList<Double> arLedArrayList, ArrayList<Double> arGpsArrayList,
        ArrayList<Double> arAudioArrayList) {

    DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();

    for (int i = 0; i < arCpuArrayList.size(); i++) {
        defaultcategorydataset.addValue(arCpuArrayList.get(i), "CPU Power(mW)", i + "");
        defaultcategorydataset.addValue(arWifiArrayList.get(i), "WIFI Power(mW)", i + "");
        defaultcategorydataset.addValue(arThreeArrayList.get(i), "3G Power(mW)", i + "");
        defaultcategorydataset.addValue(arLedArrayList.get(i), "LED Power(mW)", i + "");
        defaultcategorydataset.addValue(arGpsArrayList.get(i), "GPS Power(mW)", i + "");
        defaultcategorydataset.addValue(arAudioArrayList.get(i), "AUDIO Power(mW)", i + "");
    }//from   w  w w .jav  a 2s.co  m

    JFreeChart jfreechart = ChartFactory.createStackedBarChart3D("Stacked Bar Chart", "Time", "Power(mW)",
            defaultcategorydataset, PlotOrientation.VERTICAL, true, true, false);

    CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
    // ?  ?.
    // IntervalMarker intervalmarker = new IntervalMarker(5D, 10D,
    // Color.gray, new BasicStroke(0.5F), Color.blue, new BasicStroke(0.5F),
    // 0.5F);
    // categoryplot.addRangeMarker(intervalmarker);

    BarRenderer barrenderer = (BarRenderer) categoryplot.getRenderer();
    barrenderer.setDrawBarOutline(false);
    barrenderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    barrenderer.setBaseItemLabelsVisible(true);
    barrenderer
            .setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER));
    barrenderer
            .setBaseNegativeItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER));

    // JFrame?  ?.
    ChartPanel chartPanel = new ChartPanel(jfreechart);
    JFrame f = new JFrame("StackedXYAreaRenderer");
    f.setSize(600, 600);
    f.getContentPane().add(chartPanel);

    // f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setVisible(true);
}