Creating Category Chart Using JFreeChart

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:

[My Video Promotion]
Tagged , , , , , , , . Bookmark the permalink.

6 Responses to Calculating Folder Size Graphically and Generating Directory Size Chart In Java

  1. nocdib says:

    Thank you for this! It is just what I need

  2. d says:

    would that help you tocreate the file from ubunt server

  3. komal gaikwad says:

    in this code i got problem of array out of bound plz tell me solution.

  4. komal gaikwad says:

    In this code i got error
    Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 1
    plz send me proper code….

  5. Neethu says:

    Thank you very much for the solution. This is the one which i was searching.

  6. Manikant says:

    I need to copy to the shared folder which is shared and can be authenticate by using credentials.

    but here the code is giving to write .

    I need copy my folder from my local to shared location

    Please help

Leave a Reply to d Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.