Example usage for org.jfree.data.statistics DefaultStatisticalCategoryDataset DefaultStatisticalCategoryDataset

List of usage examples for org.jfree.data.statistics DefaultStatisticalCategoryDataset DefaultStatisticalCategoryDataset

Introduction

In this page you can find the example usage for org.jfree.data.statistics DefaultStatisticalCategoryDataset DefaultStatisticalCategoryDataset.

Prototype

public DefaultStatisticalCategoryDataset() 

Source Link

Document

Creates a new dataset.

Usage

From source file:edu.ucla.stat.SOCR.chart.ChartGenerator_JTable.java

private CategoryDataset createCategoryStatRawDataset() {

    String[][] x = new String[xyLength][no_category];
    String[][] y = new String[xyLength][1];

    for (int index = 0; index < no_category; index++)
        for (int i = 0; i < xyLength; i++)
            x[i][index] = indepValues[i][index];

    for (int index = 0; index < 1; index++)
        for (int i = 0; i < xyLength; i++)
            y[i][index] = depValues[i][index];

    int SERIES_COUNT = xyLength;
    int CATEGORY_COUNT = no_category;

    DefaultStatisticalCategoryDataset dataset = new DefaultStatisticalCategoryDataset();

    String[][] values_storage = new String[SERIES_COUNT][CATEGORY_COUNT];

    for (int s = 0; s < SERIES_COUNT; s++) {
        for (int c = 0; c < CATEGORY_COUNT; c++) {
            Double[] values = createValueList(x[s][c]);
            values_storage[s][c] = x[s][c];
            double mean = Statistics.calculateMean(values);
            double stdDev = Statistics.getStdDev(values);
            dataset.add(mean, stdDev, y[s][0], independentHeaders[c]);
        }//from w w  w . java2s.  c  om
    }

    return dataset;
}

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);
            }//from  w w w. j  av a2s. com
            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);

    }
}