List of usage examples for org.jfree.chart.labels ItemLabelPosition ItemLabelPosition
public ItemLabelPosition(ItemLabelAnchor itemLabelAnchor, TextAnchor textAnchor)
From source file:org.jfree.eastwood.ChartEngine.java
/** * Creates a bar chart with the specified orientation and using the * specified renderer./* w w w .jav a 2 s.c o m*/ * * @param orientation the plot orientation. * @param renderer the renderer. * * @return A bar chart. */ private static JFreeChart createBarChart(PlotOrientation orientation, BarRenderer renderer) { GCategoryPlot plot = new GCategoryPlot(); plot.setOrientation(orientation); JFreeChart chart = new JFreeChart(null, JFreeChart.DEFAULT_TITLE_FONT, plot, false); chart.setBackgroundPaint(Color.white); plot.setBackgroundPaint(null); plot.setRenderer(renderer); StandardBarPainter bp = new StandardBarPainter(); renderer.setBarPainter(bp); renderer.setShadowVisible(false); renderer.setBasePaint(new Color(0xFFCC33)); renderer.setAutoPopulateSeriesPaint(false); renderer.setItemLabelsVisible(true); renderer.setItemLabelGenerator(new GCategoryPlot.LabelGenerator()); renderer.setItemLabelPaint(new Color(0x333435)); renderer.setDrawBarOutline(false); renderer.setItemMargin(0.07); if (orientation == PlotOrientation.HORIZONTAL) { renderer.setPositiveItemLabelPosition( new ItemLabelPosition(ItemLabelAnchor.OUTSIDE3, TextAnchor.CENTER_LEFT)); renderer.setPositiveItemLabelPositionFallback( new ItemLabelPosition(ItemLabelAnchor.OUTSIDE3, TextAnchor.CENTER_RIGHT)); } else { renderer.setPositiveItemLabelPosition( new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BOTTOM_CENTER)); renderer.setPositiveItemLabelPositionFallback( new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.TOP_CENTER)); } GCategoryAxis xAxis = new GCategoryAxis(); xAxis.setAxisLineVisible(true); xAxis.setTickLabelsVisible(false); xAxis.setMaximumCategoryLabelLines(5); plot.setDomainAxis(xAxis); GValueAxis yAxis = new GValueAxis(); yAxis.setAxisLineVisible(true); yAxis.setTickLabelsVisible(false); yAxis.setTickMarksVisible(false); plot.setRangeAxis(yAxis); plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT); plot.setDomainGridlinesVisible(false); plot.setRangeGridlinesVisible(false); return chart; }
From source file:edu.dlnu.liuwenpeng.ChartFactory.ChartFactory.java
/** * Creates a bar chart. The chart object returned by this method uses a * {@link CategoryPlot} instance as the plot, with a {@link CategoryAxis} * for the domain axis, a {@link NumberAxis} as the range axis, and a * {@link BarRenderer} as the renderer. * /*from w w w . j a v a 2 s . com*/ * @param title the chart title (<code>null</code> permitted). * @param categoryAxisLabel the label for the category axis * (<code>null</code> permitted). * @param valueAxisLabel the label for the value axis * (<code>null</code> permitted). * @param dataset the dataset for the chart (<code>null</code> permitted). * @param orientation the plot orientation (horizontal or vertical) * (<code>null</code> not permitted). * @param legend a flag specifying whether or not a legend is required. * @param tooltips configure chart to generate tool tips? * @param urls configure chart to generate URLs? * * @return A bar chart. */ public static JFreeChart createBarChart(String title, String categoryAxisLabel, String valueAxisLabel, CategoryDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls) { if (orientation == null) { throw new IllegalArgumentException("Null 'orientation' argument."); } CategoryAxis categoryAxis = new CategoryAxis(categoryAxisLabel); ValueAxis valueAxis = new NumberAxis(valueAxisLabel); BarRenderer renderer = new BarRenderer(); if (orientation == PlotOrientation.HORIZONTAL) { ItemLabelPosition position1 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE3, TextAnchor.CENTER_LEFT); renderer.setBasePositiveItemLabelPosition(position1); ItemLabelPosition position2 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE9, TextAnchor.CENTER_RIGHT); renderer.setBaseNegativeItemLabelPosition(position2); } else if (orientation == PlotOrientation.VERTICAL) { ItemLabelPosition position1 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BOTTOM_CENTER); renderer.setBasePositiveItemLabelPosition(position1); ItemLabelPosition position2 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE6, TextAnchor.TOP_CENTER); renderer.setBaseNegativeItemLabelPosition(position2); } if (tooltips) { renderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator()); } if (urls) { renderer.setBaseItemURLGenerator(new StandardCategoryURLGenerator()); } CategoryPlot plot = new CategoryPlot(dataset, categoryAxis, valueAxis, renderer); plot.setOrientation(orientation); JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend); return chart; }
From source file:org.oscarehr.web.reports.ocan.NeedRatingOverTimeReportGenerator.java
private JFreeChart generateNeedsOverTimeChart() { CategoryDataset dataset = this.createDataset(); JFreeChart chart = ChartFactory.createStackedBarChart("Needs over Time (Consumer and Staff)", // chart title "Assessments", // x axis label "# of Domain", // y axis label dataset, // data PlotOrientation.VERTICAL, true, // include legend true, // tooltips false // urls );/*from ww w . ja v a 2 s .co m*/ chart.setBackgroundPaint(Color.LIGHT_GRAY); GroupedStackedBarRenderer renderer = new GroupedStackedBarRenderer(); KeyToGroupMap map = new KeyToGroupMap("G1"); map.mapKeyToGroup("Consumer (Unknown)", "G1"); map.mapKeyToGroup("Consumer (No Needs)", "G1"); map.mapKeyToGroup("Consumer (Met Needs)", "G1"); map.mapKeyToGroup("Consumer (Unmet Needs)", "G1"); map.mapKeyToGroup("Staff (Unknown)", "G2"); map.mapKeyToGroup("Staff (No Needs)", "G2"); map.mapKeyToGroup("Staff (Met Needs)", "G2"); map.mapKeyToGroup("Staff (Unmet Needs)", "G2"); renderer.setSeriesToGroupMap(map); renderer.setItemMargin(0.1); //renderer.setItemLabelsVisible(true); renderer.setMaximumBarWidth(15); Paint p1 = Color.GREEN; renderer.setSeriesPaint(0, p1); renderer.setSeriesPaint(4, p1); renderer.setSeriesPaint(7, p1); Paint p2 = Color.BLUE; renderer.setSeriesPaint(1, p2); renderer.setSeriesPaint(5, p2); renderer.setSeriesPaint(8, p2); Paint p3 = new Color(255, 255, 153); renderer.setSeriesPaint(2, p3); renderer.setSeriesPaint(6, p3); renderer.setSeriesPaint(9, p3); Paint p4 = Color.ORANGE; renderer.setSeriesPaint(3, p4); renderer.setSeriesPaint(7, p4); renderer.setSeriesPaint(10, p4); SubCategoryAxis domainAxis = new SubCategoryAxis("Assessments"); domainAxis.setCategoryMargin(0.05); domainAxis.addSubCategory("Consumer"); domainAxis.addSubCategory("Staff"); domainAxis.setMinorTickMarkInsideLength(10); domainAxis.setMinorTickMarkInsideLength(10); domainAxis.setMinorTickMarksVisible(true); CategoryPlot plot = (CategoryPlot) chart.getPlot(); plot.setDomainAxis(domainAxis); plot.setRenderer(renderer); LegendItemCollection result = new LegendItemCollection(); LegendItem item1 = new LegendItem("Unknown", Color.GREEN); LegendItem item2 = new LegendItem("No Needs", Color.BLUE); LegendItem item3 = new LegendItem("Met Needs", new Color(255, 255, 153)); LegendItem item4 = new LegendItem("Unmet Needs", Color.ORANGE); result.add(item1); result.add(item2); result.add(item3); result.add(item4); plot.setFixedLegendItems(result); plot.setBackgroundPaint(Color.lightGray); plot.setRangeGridlinePaint(Color.black); NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); rangeAxis.setRange(new Range(0, 24), true, false); rangeAxis.setTickUnit(new NumberTickUnit(4)); plot.getDomainAxis().setCategoryMargin(0.35); renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); renderer.setBaseItemLabelsVisible(true); renderer.setBasePositiveItemLabelPosition( new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.BASELINE_LEFT)); return chart; }
From source file:org.jfree.eastwood.ChartEngine.java
/** * Creates a bar chart with the specified orientation and using the * specified renderer./*from ww w .ja v a 2 s . c om*/ * * @param orientation the plot orientation. * @param renderer the renderer. * * @return A bar chart. */ private static JFreeChart createBarChart3D(PlotOrientation orientation, BarRenderer renderer) { GCategoryPlot plot = new GCategoryPlot(); plot.setOrientation(orientation); if (orientation.equals(PlotOrientation.HORIZONTAL)) { plot.setColumnRenderingOrder(SortOrder.DESCENDING); } JFreeChart chart = new JFreeChart(null, JFreeChart.DEFAULT_TITLE_FONT, plot, false); chart.setBackgroundPaint(Color.white); plot.setBackgroundPaint(null); plot.setRenderer(renderer); renderer.setBasePaint(new Color(0xFFCC33)); renderer.setAutoPopulateSeriesPaint(false); renderer.setBasePaint(new Color(0xFFCC33)); renderer.setAutoPopulateSeriesPaint(false); renderer.setItemLabelsVisible(true); renderer.setItemLabelGenerator(new GCategoryPlot.LabelGenerator()); renderer.setItemLabelPaint(new Color(0x333435)); if (orientation == PlotOrientation.HORIZONTAL) { renderer.setPositiveItemLabelPosition( new ItemLabelPosition(ItemLabelAnchor.OUTSIDE3, TextAnchor.CENTER_LEFT)); renderer.setPositiveItemLabelPositionFallback( new ItemLabelPosition(ItemLabelAnchor.OUTSIDE3, TextAnchor.CENTER_RIGHT)); } else { renderer.setPositiveItemLabelPosition( new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BOTTOM_CENTER)); renderer.setPositiveItemLabelPositionFallback( new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.TOP_CENTER)); } GCategoryAxis3D xAxis = new GCategoryAxis3D(); xAxis.setAxisLineVisible(true); xAxis.setTickLabelsVisible(false); xAxis.setMaximumCategoryLabelLines(5); plot.setDomainAxis(xAxis); GValueAxis3D yAxis = new GValueAxis3D(); yAxis.setAxisLineVisible(true); yAxis.setTickLabelsVisible(false); yAxis.setTickMarksVisible(false); plot.setRangeAxis(yAxis); plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT); plot.setDomainGridlinesVisible(false); plot.setRangeGridlinesVisible(false); return chart; }
From source file:KIDLYFactory.java
/** * Creates a bar chart. The chart object returned by this method uses a * {@link CategoryPlot} instance as the plot, with a {@link CategoryAxis} * for the domain axis, a {@link NumberAxis} as the range axis, and a * {@link BarRenderer} as the renderer./*from w ww .j a v a 2 s . c om*/ * * @param title the chart title (<code>null</code> permitted). * @param categoryAxisLabel the label for the category axis * (<code>null</code> permitted). * @param valueAxisLabel the label for the value axis * (<code>null</code> permitted). * @param dataset the dataset for the chart (<code>null</code> permitted). * @param orientation the plot orientation (horizontal or vertical) * (<code>null</code> not permitted). * @param legend a flag specifying whether or not a legend is required. * @param tooltips configure chart to generate tool tips? * @param urls configure chart to generate URLs? * * @return A bar chart. */ public static JFreeChart createBarChart(String title, String categoryAxisLabel, String valueAxisLabel, CategoryDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls) { if (orientation == null) { throw new IllegalArgumentException("Null 'orientation' argument."); } CategoryAxis categoryAxis = new CategoryAxis(categoryAxisLabel); ValueAxis valueAxis = new NumberAxis(valueAxisLabel); KIDLYRenderer renderer = new KIDLYRenderer(); if (orientation == PlotOrientation.HORIZONTAL) { ItemLabelPosition position1 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE3, TextAnchor.CENTER_LEFT); renderer.setBasePositiveItemLabelPosition(position1); ItemLabelPosition position2 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE9, TextAnchor.CENTER_RIGHT); renderer.setBaseNegativeItemLabelPosition(position2); } else if (orientation == PlotOrientation.VERTICAL) { ItemLabelPosition position1 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BOTTOM_CENTER); renderer.setBasePositiveItemLabelPosition(position1); ItemLabelPosition position2 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE6, TextAnchor.TOP_CENTER); renderer.setBaseNegativeItemLabelPosition(position2); } if (tooltips) { renderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator()); } if (urls) { renderer.setBaseItemURLGenerator(new StandardCategoryURLGenerator()); } CategoryPlot plot = new CategoryPlot(dataset, categoryAxis, valueAxis, renderer); plot.setOrientation(orientation); JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend); currentTheme.apply(chart); return chart; }
From source file:org.pentaho.platform.uifoundation.chart.JFreeChartEngine.java
private static JFreeChart createBarChart(final CategoryDatasetChartDefinition chartDefinition) { // TODO Make the following accessible from the chartDefinition String categoryAxisLabel = null; String valueAxisLabel = null; boolean tooltips = true; boolean urls = true; // ----------------------------------------------------------- String title = chartDefinition.getTitle(); boolean legend = chartDefinition.isLegendIncluded(); PlotOrientation orientation = chartDefinition.getOrientation(); CategoryAxis categoryAxis = new CategoryAxis(categoryAxisLabel); ValueAxis valueAxis = new NumberAxis(valueAxisLabel); BarRenderer renderer = null;// w w w .jav a 2s .c om // Determine the type of renderer to use if (chartDefinition.isStacked() || chartDefinition.isThreeD()) { if (chartDefinition.isStacked() && chartDefinition.isThreeD()) { renderer = new StackedBarRenderer3D(); } else if (chartDefinition.isStacked()) { renderer = new StackedBarRenderer(); } else { renderer = new BarRenderer3D(); } } else { renderer = new BarRenderer(); } if (orientation == PlotOrientation.HORIZONTAL) { ItemLabelPosition position1 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE3, TextAnchor.CENTER_LEFT); renderer.setPositiveItemLabelPosition(position1); ItemLabelPosition position2 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE9, TextAnchor.CENTER_RIGHT); renderer.setNegativeItemLabelPosition(position2); } else if (orientation == PlotOrientation.VERTICAL) { ItemLabelPosition position1 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BOTTOM_CENTER); renderer.setPositiveItemLabelPosition(position1); ItemLabelPosition position2 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE6, TextAnchor.TOP_CENTER); renderer.setNegativeItemLabelPosition(position2); } if (tooltips) { renderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator()); } if (urls) { renderer.setBaseItemURLGenerator(new StandardCategoryURLGenerator()); } if (chartDefinition.getMaxBarWidth() != null) { renderer.setMaximumBarWidth(chartDefinition.getMaxBarWidth().doubleValue()); } CategoryPlot plot = new CategoryPlot(chartDefinition, categoryAxis, valueAxis, renderer); JFreeChartEngine.updatePlot(plot, chartDefinition); JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend); return chart; }
From source file:org.pentaho.platform.uifoundation.chart.JFreeChartEngine.java
private static JFreeChart createBarLineChart(final BarLineChartDefinition chartDefinition) { // TODO Make the following accessible from the chartDefinition String categoryAxisLabel = null; String valueAxisLabel = null; String secondValueAxisLabel = null; boolean tooltips = true; boolean urls = true; // ----------------------------------------------------------- String title = chartDefinition.getTitle(); boolean legend = chartDefinition.isLegendIncluded(); PlotOrientation orientation = chartDefinition.getOrientation(); // split BarLineChartDefinition in two Definitions CategoryDatasetChartDefinition barsDataset = new CategoryDatasetChartDefinition( chartDefinition.getSession(), chartDefinition.getChartAttributes()); CategoryDatasetChartDefinition linesDataset = new CategoryDatasetChartDefinition( chartDefinition.getSession(), chartDefinition.getChartAttributes()); /*/* www . jav a 2s .c o m*/ * try{ barsDataset = (CategoryDatasetChartDefinition)chartDefinition.clone(); linesDataset = * (CategoryDatasetChartDefinition)chartDefinition.clone(); }catch(Exception e){} */ // get column and row count of the data set int iColumnCount = chartDefinition.getColumnCount(); int iRowCount = chartDefinition.getRowCount(); if (iRowCount <= 0) { chartDefinition.setNoDataMessage(Messages.getInstance().getString("CHART.USER_NO_DATA_AVAILABLE")); //$NON-NLS-1$ } /* * Copy data to the two new data sets */ // Loop through columns for (int r = 0; r < iRowCount; r++) { // check if measure should be include in bar or line dataset String strMeasureName = (String) chartDefinition.getRowKey(r); boolean bIsBarColumn = JFreeChartEngine.isBarColumn(chartDefinition.getBarColumns(), strMeasureName); boolean bIsLineColumn = JFreeChartEngine.isLineColumn(chartDefinition.getLineColumns(), strMeasureName); // getting all values for (int c = 0; c < iColumnCount; c++) { Comparable compColumnName = chartDefinition.getColumnKey(c); Number nValue = chartDefinition.getValue(strMeasureName, compColumnName); if (bIsBarColumn) { barsDataset.addValue(nValue, strMeasureName, compColumnName); } if (bIsLineColumn) { linesDataset.addValue(nValue, strMeasureName, compColumnName); } } } if ((iRowCount > 0) && (barsDataset.getRowCount() <= 0) && (linesDataset.getRowCount() <= 0)) { chartDefinition.setNoDataMessage(Messages.getInstance().getString("CHART.USER_INCORRECT_DATA_FORMAT")); //$NON-NLS-1$ } // Create Axis Objects CategoryAxis catAxis = new CategoryAxis(categoryAxisLabel); NumberAxis barsAxis = new NumberAxis(valueAxisLabel); NumberAxis linesAxis = new NumberAxis(secondValueAxisLabel); // set title and font for lines Axis linesDataset.setRangeTitle(chartDefinition.getLinesRangeTitle()); linesDataset.setRangeTitleFont(chartDefinition.getLinesRangeTitleFont()); if (chartDefinition.getLinesRangeTickFormat() != null) { linesAxis.setNumberFormatOverride(chartDefinition.getLinesRangeTickFormat()); } // create renderer BarRenderer barRenderer = null; LineAndShapeRenderer lineRenderer = null; // Determine the type of renderer to use if (chartDefinition.isStacked() || chartDefinition.isThreeD()) { if (chartDefinition.isStacked() && chartDefinition.isThreeD()) { barRenderer = new StackedBarRenderer3D(); lineRenderer = new LineRenderer3D(); } else if (chartDefinition.isStacked()) { barRenderer = new StackedBarRenderer(); lineRenderer = new LineAndShapeRenderer(); } else { barRenderer = new BarRenderer3D(); lineRenderer = new LineRenderer3D(); } } else { barRenderer = new BarRenderer(); lineRenderer = new LineAndShapeRenderer(); } if (orientation == PlotOrientation.HORIZONTAL) { ItemLabelPosition position1 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE3, TextAnchor.CENTER_LEFT); barRenderer.setPositiveItemLabelPosition(position1); lineRenderer.setPositiveItemLabelPosition(position1); ItemLabelPosition position2 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE9, TextAnchor.CENTER_RIGHT); barRenderer.setNegativeItemLabelPosition(position2); lineRenderer.setNegativeItemLabelPosition(position2); } else if (orientation == PlotOrientation.VERTICAL) { ItemLabelPosition position1 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BOTTOM_CENTER); barRenderer.setPositiveItemLabelPosition(position1); lineRenderer.setPositiveItemLabelPosition(position1); ItemLabelPosition position2 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE6, TextAnchor.TOP_CENTER); barRenderer.setNegativeItemLabelPosition(position2); lineRenderer.setNegativeItemLabelPosition(position2); } if (tooltips) { barRenderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator()); lineRenderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator()); } if (urls) { barRenderer.setBaseItemURLGenerator(new StandardCategoryURLGenerator()); lineRenderer.setBaseItemURLGenerator(new StandardCategoryURLGenerator()); } if (chartDefinition.getMaxBarWidth() != null) { barRenderer.setMaximumBarWidth(chartDefinition.getMaxBarWidth().doubleValue()); } // setting some line attributes lineRenderer.setStroke(JFreeChartEngine.getLineStyleStroke(chartDefinition.getLineStyle(), chartDefinition.getLineWidth())); lineRenderer.setShapesVisible(chartDefinition.isMarkersVisible()); lineRenderer.setBaseShapesFilled(chartDefinition.isMarkersVisible()); /* * Create plot and make necessary adjustments for overlaid chart */ // create the plot with bar chart CategoryPlot plot = new CategoryPlot(barsDataset, catAxis, barsAxis, barRenderer); // add line renderer plot.setRenderer(1, lineRenderer); // add lines dataset, renderer and axis to plot plot.setDataset(1, linesDataset); plot.setRangeAxis(1, linesAxis); // map lines to second axis plot.mapDatasetToRangeAxis(1, 1); // set rendering order plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD); // set location of second axis plot.setRangeAxisLocation(1, AxisLocation.BOTTOM_OR_RIGHT); // standard settings for plots JFreeChartEngine.updatePlot(plot, barsDataset); // additional settings for second axis ValueAxis secondValueAxis = plot.getRangeAxis(1); if (secondValueAxis != null) { if (chartDefinition.getLinesRangeTitle() != null) { secondValueAxis.setLabel(chartDefinition.getLinesRangeTitle()); } if (chartDefinition.getLinesRangeTitleFont() != null) { secondValueAxis.setLabelFont(chartDefinition.getLinesRangeTitleFont()); } if (chartDefinition.getLinesRangeTickFont() != null) { secondValueAxis.setTickLabelFont(chartDefinition.getLinesRangeTickFont()); } if (chartDefinition.getLinesRangeMinimum() != ValueAxis.DEFAULT_LOWER_BOUND) { secondValueAxis.setLowerBound(chartDefinition.getLinesRangeMinimum()); } if (chartDefinition.getLinesRangeMaximum() != ValueAxis.DEFAULT_UPPER_BOUND) { secondValueAxis.setUpperBound(chartDefinition.getLinesRangeMaximum()); } } JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend); return chart; }
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); }/* www .j ava 2 s.co 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 + ""); }/*www.j a va2s. c o 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); }
From source file:com.naryx.tagfusion.cfm.tag.awt.cfCHART.java
private CategoryPlot getCategoryPlot(List<cfCHARTSERIESData> series, String xAxisTitle, String yAxisTitle, String labelFormat, boolean bShowMarkers, int markerSize, boolean bShow3D, String tipStyle, String drillDownUrl, int xOffset, int yOffset, int yAxisUnits, String seriesPlacement, boolean bSortXAxis, int height, String[] yAxisSymbols, int gridLines) throws cfmRunTimeException { // Create a category plot CategoryPlot plot = new CategoryPlot(); // Set the domain axis (the x-axis) org.jfree.chart.axis.CategoryAxis categoryAxis; if (bShow3D)/*from w w w . j av a 2s . co m*/ categoryAxis = new CategoryAxis3D(xAxisTitle); else categoryAxis = new CategoryAxis(xAxisTitle); plot.setDomainAxis(categoryAxis); // Set the range axis (the y-axis) ValueAxis valueAxis; DateFormat dateFormat = null; NumberFormat numberFormat = null; // Ignore a label format of date if the y-axis is using symbols if (labelFormat.equals("date") && (yAxisSymbols == null)) { valueAxis = new DateAxis(yAxisTitle); dateFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM); ((DateAxis) valueAxis).setDateFormatOverride(dateFormat); } else { if (yAxisSymbols != null) { valueAxis = new SymbolAxis(yAxisTitle, yAxisSymbols); ((SymbolAxis) valueAxis).setGridBandsVisible(false); ((SymbolAxis) valueAxis).setAutoRangeStickyZero(true); } else if (bShow3D) { valueAxis = new NumberAxis3D(yAxisTitle); } else { valueAxis = new NumberAxis(yAxisTitle); } if (labelFormat.equals("currency")) { ((NumberAxis) valueAxis).setNumberFormatOverride(NumberFormat.getCurrencyInstance()); numberFormat = NumberFormat.getCurrencyInstance(); } else if (labelFormat.equals("percent")) { numberFormat = NumberFormat.getPercentInstance(); numberFormat.setMaximumFractionDigits(3); // without this change .11443 // would be displayed as 11% // instead of 11.443% ((NumberAxis) valueAxis).setNumberFormatOverride(numberFormat); } else { numberFormat = NumberFormat.getInstance(); } if (yAxisUnits != 0) ((NumberAxis) valueAxis).setTickUnit(new NumberTickUnit(yAxisUnits)); } plot.setRangeAxis(valueAxis); // Add a dataset and renderer for each series int barChartDatasetIndex = -1; int hBarChartDatasetIndex = -1; int num = 0; MinMaxData minMax = new MinMaxData(); for (int i = 0; i < series.size(); i++) { cfCHARTSERIESData seriesData = series.get(i); // If the sortXAxis attribute was set to "yes" then sort the data. // NOTE: this attribute is only used with category charts. if (bSortXAxis) seriesData.sort(); DefaultCategoryDataset dataset; if ((barChartDatasetIndex != -1) && (seriesData.getType().equals("bar"))) { dataset = (DefaultCategoryDataset) plot.getDataset(barChartDatasetIndex); addSeriesDataToDataset(seriesData, dataset, minMax); // Set the paint style for this series setPaintStyle(seriesData.getPaintStyle(), plot.getRenderer(barChartDatasetIndex), dataset.getRowCount() - 1, height); // Add the color list for this series to the custom color renderer CustomColorRenderer cr = (CustomColorRenderer) plot.getRenderer(barChartDatasetIndex); cr.addColors(getColorList(seriesData)); continue; } else if ((hBarChartDatasetIndex != -1) && (seriesData.getType().equals("horizontalbar"))) { dataset = (DefaultCategoryDataset) plot.getDataset(hBarChartDatasetIndex); addSeriesDataToDataset(seriesData, dataset, minMax); // Set the paint style for this series setPaintStyle(seriesData.getPaintStyle(), plot.getRenderer(hBarChartDatasetIndex), dataset.getRowCount() - 1, height); // Add the color list for this series to the custom color renderer CustomColorRenderer cr = (CustomColorRenderer) plot.getRenderer(hBarChartDatasetIndex); cr.addColors(getColorList(seriesData)); continue; } else { dataset = new DefaultCategoryDataset(); addSeriesDataToDataset(seriesData, dataset, minMax); } plot.setDataset(num, dataset); AbstractCategoryItemRenderer renderer = null; if (seriesData.getType().equals("bar")) { plot.setOrientation(PlotOrientation.VERTICAL); renderer = getBarRenderer(seriesPlacement, bShow3D, xOffset, yOffset, getColorList(seriesData)); ItemLabelPosition position1 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BOTTOM_CENTER); renderer.setPositiveItemLabelPosition(position1); ItemLabelPosition position2 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE6, TextAnchor.TOP_CENTER); renderer.setNegativeItemLabelPosition(position2); ((BarRenderer) renderer).setItemMargin(0.0); // The margin between items // in the same category categoryAxis.setCategoryMargin(0.2); // The margin between each category barChartDatasetIndex = num; } else if (seriesData.getType().equals("horizontalbar")) { plot.setOrientation(PlotOrientation.HORIZONTAL); plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT); renderer = getBarRenderer(seriesPlacement, bShow3D, xOffset, yOffset, getColorList(seriesData)); if (bShow3D) { // change rendering order to ensure that bar overlapping is the // right way around plot.setRowRenderingOrder(org.jfree.util.SortOrder.DESCENDING); plot.setColumnRenderingOrder(org.jfree.util.SortOrder.DESCENDING); } ItemLabelPosition position1 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE3, TextAnchor.CENTER_LEFT); renderer.setPositiveItemLabelPosition(position1); ItemLabelPosition position2 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE9, TextAnchor.CENTER_RIGHT); renderer.setNegativeItemLabelPosition(position2); ((BarRenderer) renderer).setItemMargin(0.0); // The margin between items // in the same category categoryAxis.setCategoryMargin(0.2); // The margin between each category hBarChartDatasetIndex = num; } else if (seriesData.getType().equals("line")) { if (bShow3D) { renderer = new LineRenderer3D(); ((LineRenderer3D) renderer).setXOffset(xOffset); ((LineRenderer3D) renderer).setYOffset(yOffset); } else { renderer = new LineAndShapeRenderer(true, false); } // Enable/Disable displaying of markers ((LineAndShapeRenderer) renderer).setShapesVisible(bShowMarkers); // Set the shape of the markers based on the markerSize value ((LineAndShapeRenderer) renderer).setShape(getMarker(seriesData.getMarkerStyle(), markerSize)); } else if (seriesData.getType().equals("area")) { if (seriesPlacement.equals("stacked")) renderer = new StackedAreaRenderer(); // this doesn't work for some // reason else renderer = new AreaRenderer(); // Truncate the first and last values to match CFMX 7 ((AreaRenderer) renderer).setEndType(AreaRendererEndType.TRUNCATE); categoryAxis.setCategoryMargin(0.0); } else if (seriesData.getType().equals("step")) { renderer = new CategoryStepRenderer(true); } else if (seriesData.getType().equals("scatter")) { renderer = new LineAndShapeRenderer(false, true); // Set the shape of the markers based on the markerSize value ((LineAndShapeRenderer) renderer).setShape(getMarker(seriesData.getMarkerStyle(), markerSize)); } if (!tipStyle.equals("none")) { if (dateFormat != null) renderer.setBaseToolTipGenerator( new StandardCategoryToolTipGenerator("({0}, {1}) = {2}", dateFormat)); else renderer.setBaseToolTipGenerator( new StandardCategoryToolTipGenerator("({0}, {1}) = {2}", numberFormat)); } if (drillDownUrl != null) { if (dateFormat != null) renderer.setBaseItemURLGenerator( new com.newatlanta.bluedragon.CategoryURLGenerator(drillDownUrl, dateFormat)); else renderer.setBaseItemURLGenerator( new com.newatlanta.bluedragon.CategoryURLGenerator(drillDownUrl, numberFormat)); } if (seriesData.getSeriesColor() != null) renderer.setSeriesPaint(0, convertStringToColor(seriesData.getSeriesColor())); String dataLabelStyle = seriesData.getDataLabelStyle(); if (labelFormat.equals("date")) { if (dataLabelStyle.equals("none")) { renderer.setItemLabelsVisible(false); } else { setCategoryItemLabelsData(renderer, seriesData); if (dataLabelStyle.equals("value")) renderer.setItemLabelGenerator( new CategoryItemLabelGenerator("{2}", dateFormat, yAxisSymbols)); else if (dataLabelStyle.equals("rowlabel")) renderer.setItemLabelGenerator( new CategoryItemLabelGenerator("{0}", dateFormat, yAxisSymbols)); else if (dataLabelStyle.equals("columnlabel")) renderer.setItemLabelGenerator( new CategoryItemLabelGenerator("{1}", dateFormat, yAxisSymbols)); else if (dataLabelStyle.equals("pattern")) renderer.setItemLabelGenerator( new CategoryItemLabelGenerator("{1} {2}", dateFormat, yAxisSymbols)); else renderer.setItemLabelGenerator( new CategoryItemLabelGenerator(dataLabelStyle, dateFormat, yAxisSymbols)); } } else { if (dataLabelStyle.equals("none")) { renderer.setItemLabelsVisible(false); } else { setCategoryItemLabelsData(renderer, seriesData); if (dataLabelStyle.equals("value")) renderer.setItemLabelGenerator( new CategoryItemLabelGenerator("{2}", numberFormat, yAxisSymbols)); else if (dataLabelStyle.equals("rowlabel")) renderer.setItemLabelGenerator( new CategoryItemLabelGenerator("{0}", numberFormat, yAxisSymbols)); else if (dataLabelStyle.equals("columnlabel")) renderer.setItemLabelGenerator( new CategoryItemLabelGenerator("{1}", numberFormat, yAxisSymbols)); else if (dataLabelStyle.equals("pattern")) renderer.setItemLabelGenerator( new CategoryItemLabelGenerator("{1} {2} ({3} of {4})", numberFormat, yAxisSymbols)); else renderer.setItemLabelGenerator( new CategoryItemLabelGenerator(dataLabelStyle, numberFormat, yAxisSymbols)); } } // Add the renderer to the plot. // NOTE: this must be done before the setPaintStyle() call so the // DrawingSupplier object // will be set up properly for the generation of default colors. plot.setRenderer(num, renderer); // Set the paint style for this series (series 0) if (seriesData.getType().equals("bar") || seriesData.getType().equals("horizontalbar") || seriesData.getType().equals("area")) setPaintStyle(seriesData.getPaintStyle(), renderer, 0, height); num++; } // If gridLines was specified then we need to calculate the yAxisUnits if ((gridLines != -1) && (valueAxis instanceof NumberAxis)) { // Calculate the yAxisUnits we need to use to create the number of // gridLines yAxisUnits = calculateYAxisUnits(gridLines, minMax); // Set the yAxisUnits ((NumberAxis) valueAxis).setTickUnit(new NumberTickUnit(yAxisUnits)); } return plot; }