Archive for the 'Charts In Java' Category

Creating Category Chart Using JFreeChart

Kushal Paudyal September 2nd, 2010

In this basic tutorial, I am walking through how to create category chart using JFreeChart. The program uses the following two jar files, and they come with the JFreeChart itself. You can download JFreeChart at their official website www.jfreechart.org

  • jcommon-1.0.15.jar
  • jfreechart-1.0.12.jar

The program also demonstrates how easily you can save a generated chart to your computer using the Charts Utilities from JFreeChart

package com.kushal.utilities;

import java.io.File;
import java.io.IOException;
import java.util.Date;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.time.Day;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;

public class CategoryChartDemo {

	public void createCategoryChart()
	{

		DefaultCategoryDataset  categoryDataset = new DefaultCategoryDataset();

		//Enrollment in Bachelors level
		categoryDataset.setValue(2003, "Bachelors", "2005");
		categoryDataset.setValue(1350, "Bachelors", "2006");
		categoryDataset.setValue(2408, "Bachelors", "2007");
		categoryDataset.setValue(2607, "Bachelors","2008");

		//Enrollment in Masters level
		categoryDataset.setValue(985, "Masters", "2005");
		categoryDataset.setValue(1400, "Masters", "2006");
		categoryDataset.setValue(1634, "Masters", "2007");
		categoryDataset.setValue(978, "Masters", "2008");

		//Enrollment in PhD level
		categoryDataset.setValue(356, "PhD", "2005");
		categoryDataset.setValue(390, "PhD", "2006");
		categoryDataset.setValue(350, "PhD", "2007");
		categoryDataset.setValue(687, "PhD", "2008");

		JFreeChart chart = ChartFactory.createBarChart3D
				     ("Program Enrollment (c) www.sanjaal.com", // Title
				      "Year",              // X-Axis label
				      "Number of Students",// Y-Axis label
				      categoryDataset,         // Dataset
				      PlotOrientation.VERTICAL,
				      true,                     // Show legend
				      true,
				      false
				     );

		saveChart(chart);
	}

	public void saveChart(JFreeChart chart)
	{
		String fileName="C:/Users/kushal/Desktop/myCategoryChart.jpg";
		try {
			/**
			 * This utility saves the JFreeChart as a JPEG
			 * First Parameter: FileName
			 * Second Parameter: Chart To Save
			 * Third Parameter: Height Of Picture
			 * Fourth Parameter: Width Of Picture
			 */
	    ChartUtilities.saveChartAsJPEG(new File(fileName), chart, 800, 600);
	} catch (IOException e) {
		e.printStackTrace();
	    System.err.println("Problem occurred creating chart.");
	}
	}
	public static void main(String args [])
	{
		new CategoryChartDemo().createCategoryChart();

	}

}

The following is the output when you run this program:

Related Java Blog Posts




Your Ad Here


Sanjaal.com is owned and maintained by Sanjaal Corps, Nepal. The company offers Webhosting and Domain Registration Services, IT Solutions and Business Analysis. Sanjaal.com website features H1B Visa Information, Entertainment Portal, Link Directory Service, Free Articles, Free Open Source Tutorials on Java and J2EE Platform, Digital Photography, High Resolution Picture Gallery and Free Reliable Image Hosting Services. Future plan includes Open Source Software Development Portal, Technical Solutions and Customizable Movie and Music Arena. We would be introducing data backup, data recovery, data hosting and voip solutions. Stay free from phishing – our website does not ask for your credit card and banking information. Happy Surfing!

Blog Widget by LinkWithin

Originally posted 2009-01-25 20:38:06.

  • Share/Bookmark

Next »