List of usage examples for org.jfree.chart JFreeChart getCategoryPlot
public CategoryPlot getCategoryPlot()
From source file:edu.ucla.stat.SOCR.chart.demo.BarChartDemo5.java
/** * Creates a chart./* w w w .j a v a 2 s . c o m*/ * * @param dataset the dataset. * * @return A chart. */ protected JFreeChart createChart(final CategoryDataset dataset) { // create the chart... JFreeChart chart = ChartFactory.createBarChart(chartTitle, // chart title domainLabel, // domain axis label rangeLabel, // range axis label dataset, // data PlotOrientation.HORIZONTAL, // orientation !legendPanelOn, // include legend true, false); // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART... CategoryPlot plot = chart.getCategoryPlot(); plot.getRenderer().setSeriesPaint(0, new Color(0, 0, 255)); plot.getRenderer().setSeriesPaint(1, new Color(75, 75, 255)); plot.getRenderer().setSeriesPaint(2, new Color(150, 150, 255)); // change the auto tick unit selection to integer units only... NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); rangeAxis.setRange(0.0, 100.0); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); BarRenderer renderer = (BarRenderer) plot.getRenderer(); renderer.setLegendItemLabelGenerator(new SOCRCategorySeriesLabelGenerator()); // NumberAxis hna = rangeAxis; // MarkerAxisBand band = new MarkerAxisBand(hna, 2.0, 2.0, 2.0, 2.0, // new Font("SansSerif", Font.PLAIN, 9)); // IntervalMarker m1 = new IntervalMarker(0.0, 33.0, "Low", Color.gray, // new BasicStroke(0.5f), Color.green, 0.75f); // IntervalMarker m2 = new IntervalMarker(33.0, 66.0, "Medium", Color.gray, // new BasicStroke(0.5f), Color.orange, 0.75f); // IntervalMarker m3 = new IntervalMarker(66.0, 100.0, "High", Color.gray, // new BasicStroke(0.5f), Color.red, 0.75f); // band.addMarker(m1); // band.addMarker(m2); // band.addMarker(m3); // hna.setMarkerBand(band); // OPTIONAL CUSTOMISATION COMPLETED. setCategorySummary(dataset); return chart; }
From source file:org.jfree.chart.demo.ItemLabelDemo1.java
/** * Creates a sample chart.//from w w w. ja v a 2 s . c om * * @param dataset * the dataset. * @return the chart. */ private JFreeChart createChart(final CategoryDataset dataset) { // create the chart... final JFreeChart chart = ChartFactory.createBarChart("Item Label Demo 1", // chart title "Category", // domain axis label "Value", // range axis label dataset, // data PlotOrientation.VERTICAL, // orientation false, // include legend true, // tooltips? false // URLs? ); chart.setBackgroundPaint(Color.white); final CategoryPlot plot = chart.getCategoryPlot(); plot.setBackgroundPaint(Color.lightGray); plot.setDomainGridlinePaint(Color.white); plot.setRangeGridlinePaint(Color.white); final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); rangeAxis.setUpperMargin(0.15); final CategoryItemRenderer renderer = plot.getRenderer(); renderer.setLabelGenerator(new LabelGenerator(50.0)); renderer.setItemLabelsVisible(true); return chart; }
From source file:net.sourceforge.processdash.ui.web.CGIChartBase.java
protected void setupCategoryChart(JFreeChart chart) { if (!(chart.getPlot() instanceof CategoryPlot)) return;/*w w w . ja va 2 s .c om*/ CategoryPlot cp = chart.getCategoryPlot(); CategoryAxis catAxis = cp.getDomainAxis(); ValueAxis otherAxis = cp.getRangeAxis(); if (!chromeless) { String catAxisLabel = data.getColName(0); if (catAxisLabel == null) catAxisLabel = Translator.translate("Project/Task"); String otherAxisLabel = Translator.translate(getSetting("units")); if ((otherAxisLabel == null || otherAxisLabel.length() == 0) && data.numCols() == 1) otherAxisLabel = data.getColName(1); if (otherAxisLabel == null) otherAxisLabel = Translator.translate("Value"); String catLabels = getParameter("categoryLabels"); catAxis.setLabel(catAxisLabel); otherAxis.setLabel(otherAxisLabel); if ("vertical".equalsIgnoreCase(catLabels)) catAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45); else if ("none".equalsIgnoreCase(catLabels)) catAxis.setTickLabelsVisible(false); } if (data.numCols() == 1 && getParameter("noSkipLegend") == null) { chart.removeLegend(); chart.getPlot().setInsets(new RectangleInsets(5, 2, 2, 5)); } }
From source file:org.adempiere.apps.graph.ChartBuilder.java
private void setupCategoryChart(JFreeChart chart) { CategoryPlot plot = chart.getCategoryPlot(); CategoryAxis xAxis = (CategoryAxis) plot.getDomainAxis(); xAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45); CategoryItemRenderer renderer = plot.getRenderer(); renderer.setSeriesPaint(0, Color.RED); renderer.setSeriesPaint(1, Color.BLUE); renderer.setSeriesPaint(2, Color.YELLOW); renderer.setSeriesPaint(3, Color.GREEN); renderer.setSeriesPaint(4, Color.ORANGE); renderer.setSeriesPaint(5, Color.CYAN); renderer.setSeriesPaint(6, Color.MAGENTA); renderer.setSeriesPaint(7, Color.GRAY); renderer.setSeriesPaint(8, Color.PINK); plot.setRenderer(renderer);/*from ww w. j ava 2s . c o m*/ }
From source file:moller.javapeg.program.gui.frames.ImageRepositoryStatisticsViewer.java
private ChartPanel createChart(CategoryDataset bardataset, String label) { String title = getLang().get("imagestatisticsviewer.chart.title.prefix"); String valueAxisLabel = getLang().get("imagestatisticsviewer.chart.valueAxisLabel"); JFreeChart barChart = ChartFactory.createBarChart(title + " " + label, label, valueAxisLabel, bardataset); ChartPanel chartPanel = new ChartPanel(barChart); chartPanel.setName(label);//from w ww . j a va 2 s . c o m chartPanel.setMouseWheelEnabled(true); final CategoryPlot plot = barChart.getCategoryPlot(); plot.setBackgroundPaint(new Color(204, 204, 204)); BarRenderer barRenderer = (BarRenderer) plot.getRenderer(); barRenderer.setBarPainter(new StandardBarPainter()); barRenderer.setSeriesPaint(0, new Color(102, 153, 204)); barRenderer.setDrawBarOutline(true); barRenderer.setSeriesOutlinePaint(0, Color.BLACK); return chartPanel; }
From source file:net.sf.jasperreports.customizers.shape.LegendShapeCustomizer.java
@Override public void customize(JFreeChart jfc, JRChart jrc) { Plot plot = jfc.getPlot();// w w w . ja v a 2 s .co m ItemsCounter itemsCounter = new LegendItemsCounter(plot); SeriesNameProvider seriesNameProvider = null; Object renderer = null; if (plot instanceof XYPlot) { XYPlot xyPlot = jfc.getXYPlot(); renderer = xyPlot.getRenderer(); seriesNameProvider = new XYPlotSeriesNameProvider(xyPlot); } else if (plot instanceof CategoryPlot) { CategoryPlot categoryPlot = jfc.getCategoryPlot(); renderer = categoryPlot.getRenderer(); seriesNameProvider = new CategorySeriesNameProvider(categoryPlot); } Integer legendItemIndex = CustomizerUtil.resolveIndex(this, itemsCounter, seriesNameProvider); if (legendItemIndex != null && renderer instanceof AbstractRenderer) { ShapeSetter shapeSetter = new AbstractRendererLegendShapeSetter((AbstractRenderer) renderer); if (legendItemIndex == -1) { updateItems(itemsCounter, shapeSetter); } else { updateItem(itemsCounter, shapeSetter, legendItemIndex); } } }
From source file:graph.plotter.BarMenu.java
/** * This is the main working button for this class... It creates bar chart analyZing whole data set * /*from w w w. jav a 2 s .co m*/ * @param evt */ private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed // TODO add your handling code here: try { DefaultCategoryDataset dataset = new DefaultCategoryDataset(); int i; i = 0; String genre = " "; if (Button == 1) while (i < count) { double amount = Double.parseDouble(Table.getModel().getValueAt(i, 1).toString()); String name = Table.getModel().getValueAt(i, 0).toString(); dataset.setValue(new Double(amount), genre, name); i++; genre += " "; } else { try { BufferedReader br = new BufferedReader(new FileReader(jTextField3.getText())); String Line; while ((Line = br.readLine()) != null) { String[] value = Line.split(","); double val = Double.parseDouble(value[1]); dataset.setValue(new Double(val), genre, value[0]); genre += " "; System.out.println(value[0]); } } catch (FileNotFoundException ex) { Logger.getLogger(BarMenu.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(BarMenu.class.getName()).log(Level.SEVERE, null, ex); } } JFreeChart chart = ChartFactory.createBarChart3D("Amount", "Name", "Amount", dataset, PlotOrientation.VERTICAL, false, true, false); CategoryPlot p = chart.getCategoryPlot(); p.setRangeGridlinePaint(Color.white); p.setBackgroundPaint(Color.black); ChartFrame frame = new ChartFrame("Bar Chart", chart); saveButton = new JButton("Save image in Project Folder"); frame.setLayout(new BorderLayout()); JPanel panel = new JPanel(); panel.setLayout(new GridBagLayout()); GridBagConstraints gc = new GridBagConstraints(); gc.gridx = 1; gc.gridy = 0; panel.add(saveButton, gc); frame.add(panel, BorderLayout.SOUTH); saveButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { try { final ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection()); final File file1 = new File("Bar_Chart.png"); ChartUtilities.saveChartAsPNG(file1, chart, 600, 400, info); } catch (Exception ex) { } } }); frame.setVisible(true); frame.setSize(858, 513); } catch (Exception e) { } }
From source file:org.n52.oxf.render.sos.AnimatedMapChartRenderer4OnePhenomenon.java
/** * renders a BarChart consisting of one series for each specified foiID. * /*from w w w .ja va 2 s.co m*/ * @param foiIdArray * @param observationCollection * @return */ protected CategoryPlot renderFoiBarChart(String foiID, String timeString, ObservedValueTuple tuple) { DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.addValue((Double) tuple.getValue(0), foiID, timeString); JFreeChart chart = ChartFactory.createBarChart3D(null, // String title null, // String categoryAxisLabel null, // String valueAxisLabel dataset, // CategoryDataset dataset PlotOrientation.VERTICAL, false, // boolean legend false, // boolean tooltips false // boolean urls ); CategoryPlot plot = chart.getCategoryPlot(); plot.setBackgroundPaint(Color.white); return plot; }
From source file:com.devoteam.srit.xmlloader.core.report.derived.DerivedCounter.java
public JFreeChart getHistogramChart() { double[] hits = this.counter.histogramDataset.getHistogramArray(); double[] intervals = this.counter.histogramDataset.histogramParameters.histogramIntervals; double hitsCount = this.counter.histogramDataset.hits; DefaultCategoryDataset datasetNormal = new DefaultCategoryDataset(); datasetNormal.addValue(0, "a", " -INF"); datasetNormal.addValue(0, "b", " -INF"); double cumul = 0; for (int i = 0; i < intervals.length - 1; i++) { String intervalName;/*from w ww . j a v a 2s.c o m*/ if (i == intervals.length - 2) { intervalName = " +INF"; } else { intervalName = " " + Double.toString(intervals[i + 1]); } cumul += hits[i]; datasetNormal.addValue((100 * hits[i]) / hitsCount, "a", intervalName); datasetNormal.addValue((100 * cumul) / hitsCount, "b", intervalName); } JFreeChart jFreeChart = ChartFactory.createBarChart("", "", "%", datasetNormal, PlotOrientation.VERTICAL, false, false, false); CategoryPlot plot = jFreeChart.getCategoryPlot(); CategoryAxis axis = plot.getDomainAxis(); LayeredBarRenderer layeredBarRenderer = new LayeredBarRenderer(); layeredBarRenderer.setSeriesPaint(0, new Color(0, 0, 255, 85)); layeredBarRenderer.setSeriesPaint(1, new Color(255, 0, 0, 85)); plot.setRenderer(layeredBarRenderer); plot.setRowRenderingOrder(SortOrder.DESCENDING); axis.setCategoryLabelPositions(CategoryLabelPositions.DOWN_45); axis.setMaximumCategoryLabelWidthRatio(1); jFreeChart.setBackgroundPaint(Color.WHITE); return jFreeChart; }
From source file:UserInterface.WaterSupplyAdmin.UsagePatternJPanel.java
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed int selectedRow = customerTable.getSelectedRow(); if (selectedRow < 0) { JOptionPane.showMessageDialog(null, "Select a customer first"); return;// w ww. j av a 2s.co m } Customer customer = (Customer) customerTable.getValueAt(selectedRow, 1); if (customer.getSourceSensor() == null) { JOptionPane.showMessageDialog(null, "Water Supply not available yet for this customer"); return; } DefaultCategoryDataset dataset = new DefaultCategoryDataset(); for (SensorValue sensorValue : customer.getTargetSensor().getSensorValueList()) { dataset.addValue(sensorValue.getFlowrate(), "Date", sensorValue.getDate()); } if (customer.getTargetSensor().getSensorValueList().size() == 1) { JFreeChart chart = ChartFactory.createBarChart( "Customer's water flowrate variation over a period of time", "Time of Usage", "FlowRate(gallons/sec)", dataset, PlotOrientation.VERTICAL, true, true, true); CategoryPlot p = chart.getCategoryPlot(); p.setRangeGridlinePaint(Color.cyan); ChartFrame frame = new ChartFrame("Bar Char for Weight", chart); frame.setVisible(true); frame.setSize(450, 350); } else { JFreeChart chart = ChartFactory.createLineChart( "Customer's water flowrate variation over a period of time", "Time of Usage", "FlowRate(gallons/sec)", dataset, PlotOrientation.VERTICAL, true, true, true); CategoryPlot p = chart.getCategoryPlot(); p.setRangeGridlinePaint(Color.cyan); ChartFrame frame = new ChartFrame("Bar Char for Weight", chart); RefineryUtilities.centerFrameOnScreen(frame); frame.setVisible(true); frame.setSize(450, 350); } }