Home Chartgraphs Combined Category Plot Example using JFreeChart



Combined Category Plot Example using JFreeChart
Posted on: September 1, 2008 at 12:00 AM
This Example shows you how to create a Combined Category Plot chart using JFreeChart. Code for the chart shows runs of two team in a match.

Combined Category Plot Example using JFreeChart

     

This Example shows you how to create a Combined Category Plot chart using JFreeChart. Code for the chart shows runs of two team in a match.

In the code given below we have extended class ApplicationFrame to create a frame and also pass a string value to the constructor of ApplicationFrame class by using super keyword that will be name of the created frame.

The method used in this example are described below:

pack(): This method invokes the layout manager.

centerFrameOnScreen(): This method is used for the position of the frame in the middle of the screen.

setVisible(): This method is used for display frame on the screen.

addValue(): This method is used for add data into DefaultCategoryDataset class object according to the category.

JFreeChart: JFreeChart class object is used to create new chart according CategoryPlot class object

setBackgroundPaint(): This method is used to set the paint used to fill the chart background.

CombinedCategoryPlot.java

import java.awt.Font;

import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.labels.StandardCategoryToolTipGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.CombinedDomainCategoryPlot;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;

public class CombinedCategoryPlot extends ApplicationFrame {

  public CombinedCategoryPlot(String titel) {
  super(titel);


  final JFreeChart chart = createChart();
  final ChartPanel chartPanel = new ChartPanel(chart);
  chartPanel.setPreferredSize(
  new 
java.awt.Dimension(600350));
  setContentPane(chartPanel);
  }

  public CategoryDataset createDatasetTeam1() {

  final DefaultCategoryDataset result = 
  
new DefaultCategoryDataset();

  double[] run = 
 
new double[]{5436783636,};

  for (int i = 0; i < run.length; i++) {
  result.addValue(run[i]"Team 1""" (i + 1));
  }
  return result;
  }

  public CategoryDataset createDatasetTeam2() {

  final DefaultCategoryDataset result 
   = 
new DefaultCategoryDataset();

  double[] run = new double[]{32268418911};

  for (int i = 0; i < run.length; i++) {
  result.addValue(run[i]"Team 2""" (i + 1));
  }
  return result;
  }

  private JFreeChart createChart() {

  final CategoryDataset dataset1 = createDatasetTeam1();
  final NumberAxis rangeAxis1 = 
 
new NumberAxis("Run");
  rangeAxis1.setStandardTickUnits(
   NumberAxis.createIntegerTickUnits
());
  final BarRenderer renderer1 = new BarRenderer();
  renderer1.setBaseToolTipGenerator(
  new 
StandardCategoryToolTipGenerator());
  final CategoryPlot subplot1 = 
  
new CategoryPlot(dataset1, null, rangeAxis1, 
  renderer1
);
  subplot1.setDomainGridlinesVisible(true);


  final CategoryDataset dataset2 = createDatasetTeam2();
  final NumberAxis rangeAxis2 = 
  
new NumberAxis("Run");
  rangeAxis2.setStandardTickUnits(
   NumberAxis.createIntegerTickUnits
());
  final BarRenderer renderer2 = 
 
new BarRenderer();
  renderer2.setBaseToolTipGenerator(
 
new StandardCategoryToolTipGenerator());
  final CategoryPlot subplot2 = 
 
new CategoryPlot(dataset2, null, rangeAxis2, 
  renderer2
);
  subplot2.setDomainGridlinesVisible(true);



  final CategoryAxis domainAxis = new CategoryAxis("Over");
  final CombinedDomainCategoryPlot plot = new 
CombinedDomainCategoryPlot
(domainAxis);


  plot.add(subplot1, 1);
  plot.add(subplot2, 1);

  final JFreeChart chart = new JFreeChart(
  "Score Bord",
  new Font("SansSerif", Font.BOLD, 12),
  plot,
  true);
  return chart;
  }

  public static void main(final String[] args) {

  final String title = "Combined Category Plot Demo";
  final CombinedCategoryPlot demo 
  = 
new CombinedCategoryPlot(title);
  demo.pack();
  RefineryUtilities.centerFrameOnScreen(demo);
  demo.setVisible(true);
  }
}


Output:



Download code

Related Tags for Combined Category Plot Example using JFreeChart:
ccomfreecharteamchartusingthiscreatejfreechartshowforexamplecombinematchtoexamrunwsshbiecategoryartinmcajhowcatbinxaxampseeatishamplgoeaarcodcoderttwssteathshopleplodeombomo


More Tutorials from this section

Ask Questions?    Discuss: Combined Category Plot Example using JFreeChart  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 

Ask Questions?

If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.

Ask your questions, our development team will try to give answers to your questions.