List of usage examples for org.jfree.chart JFreeChart getCategoryPlot
public CategoryPlot getCategoryPlot()
From source file:org.pentaho.plugin.jfreereport.reportcharts.AreaChartExpression.java
protected JFreeChart computeCategoryChart(final CategoryDataset categoryDataset) { final PlotOrientation orientation = computePlotOrientation(); final JFreeChart chart; if (isStacked()) { chart = createStackedAreaChart(computeTitle(), getCategoryAxisLabel(), getValueAxisLabel(), categoryDataset, orientation, isShowLegend(), false, false); } else {/*from ww w. j a v a2 s. c o m*/ chart = ChartFactory.createAreaChart(computeTitle(), getCategoryAxisLabel(), getValueAxisLabel(), categoryDataset, orientation, isShowLegend(), false, false); chart.getCategoryPlot().setDomainAxis(new FormattedCategoryAxis(getCategoryAxisLabel(), getCategoricalAxisMessageFormat(), getRuntime().getResourceBundleFactory().getLocale())); } configureLogarithmicAxis(chart.getCategoryPlot()); return chart; }
From source file:fuel.gui.stats.StationStatsPanel.java
private void refreshGraphs() { graphContainer.removeAll();//from ww w . j a v a2s . c o m DefaultPieDataset usageDataset = new DefaultPieDataset(); try { for (Station station : database.getStations()) { ResultSet thisStation = database .Query("SELECT SUM(liter) FROM fuelrecords WHERE stationId = " + station.getId(), true); thisStation.next(); usageDataset.setValue(station.toString(), thisStation.getInt("1")); } } catch (SQLException ex) { JOptionPane.showMessageDialog(null, ex.getMessage() + ex.getCause()); } JFreeChart usagePieChart = ChartFactory.createPieChart3D("", usageDataset, true, true, false); PiePlot3D plot3 = (PiePlot3D) usagePieChart.getPlot(); plot3.setForegroundAlpha(0.6f); //plot3.setCircular(true); JPanel usagePieChartPanel = new ChartPanel(usagePieChart); usagePieChartPanel.setBorder( BorderFactory.createTitledBorder(BorderFactory.createTitledBorder("Tankstation verhouding"))); usagePieChartPanel.setPreferredSize(new java.awt.Dimension(320, 240)); DefaultPieDataset fuelDataset = new DefaultPieDataset(); try { ResultSet numberResults = database.Query("SELECT DISTINCT typeOfGas FROM fuelrecords", true); while (numberResults.next()) { ResultSet thisStation = database.Query("SELECT SUM(liter) FROM fuelrecords WHERE typeOfGas = '" + numberResults.getString("typeOfGas") + "'", true); thisStation.next(); fuelDataset.setValue(numberResults.getString("typeOfGas"), thisStation.getInt("1")); } } catch (SQLException ex) { JOptionPane.showMessageDialog(null, ex.getMessage() + ex.getCause()); } JFreeChart fuelPieChart = ChartFactory.createPieChart3D("", fuelDataset, true, true, false); PiePlot3D plot2 = (PiePlot3D) fuelPieChart.getPlot(); plot2.setForegroundAlpha(0.6f); //plot3.setCircular(true); JPanel fuelPieChartPanel = new ChartPanel(fuelPieChart); fuelPieChartPanel.setBorder( BorderFactory.createTitledBorder(BorderFactory.createTitledBorder("Brandstof verhouding"))); fuelPieChartPanel.setPreferredSize(new java.awt.Dimension(320, 240)); DefaultCategoryDataset barDataset = new DefaultCategoryDataset(); try { ResultSet motorThing = database.Query("SELECT cost/liter,date FROM fuelrecords ORDER BY date ASC", true); while (motorThing.next()) { barDataset.addValue(motorThing.getDouble("1"), motorThing.getString("date"), "Prijs per liter"); } } catch (SQLException ex) { JOptionPane.showMessageDialog(null, ex.getMessage() + ex.getCause()); } JFreeChart barChart = ChartFactory.createBarChart3D("", // chart title "", // domain axis label "Aantal", // range axis label barDataset, // data PlotOrientation.VERTICAL, false, // include legend true, // tooltips? false // URLs? ); CategoryPlot plot = barChart.getCategoryPlot(); BarRenderer3D renderer = (BarRenderer3D) plot.getRenderer(); renderer.setDrawBarOutline(false); ChartPanel barChartPanel = new ChartPanel(barChart); barChartPanel.getChartRenderingInfo().setEntityCollection(null); barChartPanel.setBorder(BorderFactory.createTitledBorder("Prijs per liter")); barChartPanel.setPreferredSize(new java.awt.Dimension(320, 240)); JPanel piePanel = new JPanel(new GridLayout(0, 2)); piePanel.add(usagePieChartPanel); piePanel.add(fuelPieChartPanel); graphContainer.add(piePanel); graphContainer.add(barChartPanel); revalidate(); repaint(); }
From source file:UserInterface.WaterSupplyAdmin.UsagePatternJPanel.java
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed int selectedRow = customerTable.getSelectedRow(); if (selectedRow < 0) { JOptionPane.showMessageDialog(null, "Select a customer first"); return;/*from w ww . j ava2s . 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; } if (customer.getWaterUsageHistory().size() == 0) { JOptionPane.showMessageDialog(null, "No water usage yet"); return; } DefaultCategoryDataset dataset = new DefaultCategoryDataset(); for (WaterUsage waterUsage : customer.getWaterUsageHistory()) { dataset.setValue(waterUsage.getUsageVolume(), waterUsage.getDate(), "Usage Volume"); } JFreeChart chart = ChartFactory.createBarChart("Customer Water Usage Trends over a period of time", "Time of Usage", "Gallons", 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); }
From source file:stockit.allStocks.java
private void stockPerfmActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_stockPerfmActionPerformed // TODO add your handling code here: DefaultCategoryDataset dataset = new DefaultCategoryDataset(); int row = table.getSelectedRow(); if (row != -1) { //dataset.setValue(, "", table.getValueAt(0,1).toString()); String selectedStock = table.getValueAt(row, 0).toString(); try {/*from w w w. j a v a2s .com*/ DBConnection dbcon = new DBConnection(); dbcon.establishConnection(); Statement stmt = dbcon.con.createStatement(); ResultSet rs = stmt .executeQuery("Select stock_daily_performance.Closing_Price, stock_daily_performance.Date\n" + "FROM stock_daily_performance, stock\n" + "WHERE stock_daily_performance.StockID = stock.StockID AND stock.StockID = '" + selectedStock + "'" + "AND Date IN\n" + "( Select * from\n" + "(\n" + "SELECT Date \n" + "FROM stock_daily_performance \n" + "WHERE StockID = stockID \n" + "ORDER BY Date ASC\n" + ") temp_table)\n" + " "); while (rs.next()) { String formattedDate = rs.getString("Date"); int closing_price = rs.getInt("Closing_Price"); System.out.println("Closing Price: " + closing_price); System.out.println("Date: " + formattedDate); dataset.setValue(closing_price, "value", formattedDate); } dbcon.con.close(); } catch (Exception ex) { Logger.getLogger(clientLogin.class.getName()).log(Level.SEVERE, null, ex); } String stockName = table.getValueAt(row, 1).toString(); JFreeChart chart = ChartFactory.createLineChart(stockName + " Stock Performance", "Date", "Value", dataset, PlotOrientation.VERTICAL, false, false, false); Color c = new Color(240, 240, 240, 0); chart.setBackgroundPaint(c); CategoryPlot catPlot = chart.getCategoryPlot(); catPlot.setRangeGridlinePaint(Color.BLACK); //set interval of Y-axis ticks (tick every 5 units) NumberAxis yAxis = (NumberAxis) catPlot.getRangeAxis(); yAxis.setTickUnit(new NumberTickUnit(5)); //set y-axis labels as currency types ($) NumberFormat currency = NumberFormat.getCurrencyInstance(); yAxis.setNumberFormatOverride(currency); //setting number of lines an x-axis label is displayed on CategoryAxis categoryAxis = catPlot.getDomainAxis(); categoryAxis.setMaximumCategoryLabelLines(4); graphPanel.setLayout(new java.awt.BorderLayout()); ChartPanel chartPanel = new ChartPanel(chart); graphPanel.removeAll(); graphPanel.add(chartPanel, BorderLayout.CENTER); graphPanel.validate(); graphPanel.repaint(); } }
From source file:swing.PrincipalMDI.java
private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem5ActionPerformed // TODO add your handling code here: DefaultCategoryDataset barDataSet = new DefaultCategoryDataset(); barDataSet.setValue(cptAttente, "ticket", "En attente"); barDataSet.setValue(cptEnCours, "ticket", "En cours"); barDataSet.setValue(cptNonAttribue, "ticket", "Non attribu"); barDataSet.setValue(cptResolu, "ticket", "Resolu"); barDataSet.setValue(cptATraiter, "ticket", "A traiter"); JFreeChart chart = ChartFactory.createBarChart3D("Camembert", "Bar", "Ticket", barDataSet, PlotOrientation.VERTICAL, false, true, false); CategoryPlot plot = chart.getCategoryPlot(); plot.setRangeGridlinePaint(Color.blue); ChartFrame frame = new ChartFrame("Bar", chart); frame.setVisible(true);/*from ww w . j a va 2 s . co m*/ frame.setSize(600, 500); }
From source file:Forms.SalesChart.java
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed String sql = "SELECT * FROM soldtime WHERE cast(datetime as date)"; DefaultCategoryDataset dataset = new DefaultCategoryDataset(); try {/*from ww w. j a v a 2 s.co m*/ Connection con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/nafis", "root", ""); Statement s = (Statement) con.prepareStatement(sql); ResultSet rs = s.executeQuery(sql); Map<String, Integer> m = new TreeMap<String, Integer>(); int quantity = 0; //float sp=0; //float bp=0; String qua = "", sprice = "", bprice = "", date = ""; while (rs.next()) { qua = rs.getString(3); /*sprice = rs.getString(4); bprice = rs.getString(5);*/ date = rs.getString(6); date = date.substring(0, 10); //quantity=quantity+Integer.parseInt(qua); /*sp = sp + Float.parseFloat(sprice); bp = bp + Float.parseFloat(bprice);*/ Integer oldVal = m.get(date); if (oldVal == null) { m.put(date, Integer.parseInt(qua)); } else { m.put(date, oldVal + Integer.parseInt(qua)); } } for (HashMap.Entry ma : m.entrySet()) { //System.out.println(m.getKey()+" "+m.getValue()); dataset.setValue(Float.parseFloat(ma.getValue() + ""), "Items Sold", ma.getKey() + ""); } } catch (Exception e) { e.printStackTrace(); } /*dataset.setValue(50, "Date","Amount1"); dataset.setValue(25, "Date","Amount2"); dataset.setValue(30, "Date","Amount3"); dataset.setValue(45, "Date","Amount4");*/ JFreeChart chart = ChartFactory.createBarChart3D("SOLD BARCHART", "DATE", "PROFIT", dataset, PlotOrientation.VERTICAL, false, true, false); CategoryPlot p = chart.getCategoryPlot(); p.setForegroundAlpha(0.5f); ChartFrame frame = new ChartFrame("Bar Chart", chart); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setSize(750, 600); }
From source file:edu.ucla.stat.SOCR.chart.demo.BarChart3DDemo1.java
/** * Creates a 3D bar chart./*from w w w . j av a 2s.com*/ * * @param dataset the category dataset. * * @return The chart. */ protected JFreeChart createChart(CategoryDataset dataset) { JFreeChart chart = ChartFactory.createBarChart3D(chartTitle, // chart title domainLabel, // domain axis label rangeLabel, // range axis label dataset, // data PlotOrientation.VERTICAL, // orientation !legendPanelOn, // include legend true, // tooltips false // urls ); CategoryPlot plot = chart.getCategoryPlot(); plot.setDomainGridlinesVisible(true); CategoryAxis axis = plot.getDomainAxis(); axis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 8.0)); BarRenderer3D renderer = (BarRenderer3D) plot.getRenderer(); renderer.setLegendItemLabelGenerator(new SOCRCategorySeriesLabelGenerator()); renderer.setDrawBarOutline(false); setCategorySummary(dataset); return chart; }
From source file:ch.opentrainingcenter.charts.bar.OTCCategoryChartViewerTest.java
@Test public void testCreateChart() { final JFreeChart chart = viewer.createChart(); viewer.updateData(new ArrayList<ITraining>(), new ArrayList<PastTraining>(), XAxisChart.MONTH, TrainingChart.DISTANZ, false); assertNotNull(chart);/* w ww .j av a2 s .c o m*/ assertEquals(TrainingChart.DISTANZ.getTitle(), chart.getTitle().getText()); assertEquals(TrainingChart.DISTANZ.getyAchse(), chart.getCategoryPlot().getRangeAxis().getLabel()); assertEquals(CategoryHelper.getDomainAxis(XAxisChart.MONTH), chart.getCategoryPlot().getDomainAxis().getLabel()); }
From source file:com.att.aro.main.FileTypesChartPanel.java
/** * Initializes the File Type chart./*from w w w . j a va2 s . c o m*/ */ private void initialize() { JFreeChart chart = ChartFactory.createBarChart(rb.getString("chart.filetype.title"), null, rb.getString("simple.percent"), null, PlotOrientation.HORIZONTAL, false, false, false); chart.setBackgroundPaint(this.getBackground()); chart.getTitle().setFont(AROUIManager.HEADER_FONT); this.plot = chart.getCategoryPlot(); plot.setBackgroundPaint(Color.white); plot.setDomainGridlinePaint(Color.gray); plot.setRangeGridlinePaint(Color.gray); plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT); CategoryAxis domainAxis = plot.getDomainAxis(); domainAxis.setMaximumCategoryLabelWidthRatio(.5f); domainAxis.setLabelFont(AROUIManager.LABEL_FONT); domainAxis.setTickLabelFont(AROUIManager.LABEL_FONT); NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); rangeAxis.setRange(0.0, 100.0); rangeAxis.setTickUnit(new NumberTickUnit(10)); rangeAxis.setLabelFont(AROUIManager.LABEL_FONT); rangeAxis.setTickLabelFont(AROUIManager.LABEL_FONT); BarRenderer renderer = new StackedBarRenderer(); renderer.setBasePaint(AROUIManager.CHART_BAR_COLOR); renderer.setAutoPopulateSeriesPaint(false); renderer.setBaseItemLabelGenerator(new PercentLabelGenerator()); renderer.setBaseItemLabelsVisible(true); renderer.setBaseItemLabelPaint(Color.black); // Make second bar in stack invisible renderer.setSeriesItemLabelsVisible(1, false); renderer.setSeriesPaint(1, new Color(0, 0, 0, 0)); renderer.setBaseToolTipGenerator(new CategoryToolTipGenerator() { @Override public String generateToolTip(CategoryDataset dataset, int row, int column) { FileTypeSummary summary = content.get(column); return MessageFormat.format(rb.getString("chart.filetype.tooltip"), NumberFormat.getIntegerInstance().format(summary.getBytes())); } }); ItemLabelPosition insideItemlabelposition = new ItemLabelPosition(ItemLabelAnchor.INSIDE3, TextAnchor.CENTER_RIGHT); renderer.setBasePositiveItemLabelPosition(insideItemlabelposition); ItemLabelPosition outsideItemlabelposition = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE3, TextAnchor.CENTER_LEFT); renderer.setPositiveItemLabelPositionFallback(outsideItemlabelposition); BarPainter painter = new StandardBarPainter(); renderer.setBarPainter(painter); renderer.setShadowVisible(false); renderer.setMaximumBarWidth(0.1); plot.setRenderer(renderer); plot.getDomainAxis().setMaximumCategoryLabelLines(2); ChartPanel chartPanel = new ChartPanel(chart, WIDTH, HEIGHT, 400, ChartPanel.DEFAULT_MINIMUM_DRAW_HEIGHT, ChartPanel.DEFAULT_MAXIMUM_DRAW_WIDTH, ChartPanel.DEFAULT_MAXIMUM_DRAW_HEIGHT, USER_BUFFER, PROPERTIES, COPY, SAVE, PRINT, ZOOM, TOOL_TIPS); chartPanel.setDomainZoomable(false); chartPanel.setRangeZoomable(false); this.add(chartPanel, BorderLayout.CENTER); }
From source file:Forms.SalesChart.java
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed String sql = "SELECT * FROM soldtime WHERE cast(datetime as date)"; DefaultCategoryDataset dataset = new DefaultCategoryDataset(); try {//www .j a v a 2 s .c o m Connection con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/nafis", "root", ""); Statement s = (Statement) con.prepareStatement(sql); ResultSet rs = s.executeQuery(sql); Map<String, Float> m = new TreeMap<String, Float>(); //int quantity=0; //float sp=0; //float bp=0; String qua = "", sprice = "", bprice = "", date = ""; while (rs.next()) { //qua = rs.getString(3); sprice = rs.getString(4); bprice = rs.getString(5); date = rs.getString(6); date = date.substring(0, 10); //quantity=quantity+Integer.parseInt(qua); /*sp = sp + Float.parseFloat(sprice); bp = bp + Float.parseFloat(bprice);*/ Float oldVal = m.get(date); if (oldVal == null) { m.put(date, Float.parseFloat(sprice) - Float.parseFloat(bprice)); } else { m.put(date, oldVal + Float.parseFloat(sprice) - Float.parseFloat(bprice)); } } for (HashMap.Entry ma : m.entrySet()) { //System.out.println(m.getKey()+" "+m.getValue()); dataset.setValue(Float.parseFloat(ma.getValue() + ""), "Profit", ma.getKey() + ""); } } catch (Exception e) { e.printStackTrace(); } /*dataset.setValue(50, "Date","Amount1"); dataset.setValue(25, "Date","Amount2"); dataset.setValue(30, "Date","Amount3"); dataset.setValue(45, "Date","Amount4");*/ JFreeChart chart = ChartFactory.createBarChart3D("PROFIT BARCHART", "DATE", "PROFIT", dataset, PlotOrientation.VERTICAL, false, true, false); CategoryPlot p = chart.getCategoryPlot(); p.setForegroundAlpha(0.5f); ChartFrame frame = new ChartFrame("Bar Chart", chart); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setSize(750, 600); }