Create Area Chart Using JFreeChart

Create Area Chart Using JFreeChart explains about creating a simple area chart using JFreechart API

A area chart or area graph displays graphically quantitative data. It is based on the line chart. The area between axis and line are commonly emphasized with colors, textures and hatchings. Commonly one compares with an area chart two or more quantities.

Reference -> https://en.wikipedia.org/wiki/Area_chart

How To Create Area Chart Using JFreeChart library?

JFreeChart is a free and open source java chart library used for creating professional quality charts. JFreeChart is purely written in java language, we can very easily incorporate JFreeChart in our java standalone and web applications.

Referenece - > http://www.jfree.org/jfreechart/

Here I am showing an example about How to create  a simple Area Chart using JFreeChart.

Note

1) If you need pie chart example, You can follow Create Pie Chart Using JFreeChart

2) If you need line chart example, You can follow Create Line Chart Using JFreeChart

3) If you need bar chart example, You can follow Create Bar Chart Using JFreeChart

4) If you need polar chart example, You can follow Create Polar Chart Using JFreeChart

5) If you need bubble chart example, You can follow Create Bubble Chart Using JFreeChart

6) If you need wind chart example, You can follow Create Wind Chart Using JFreeChart

Required Libraries

You need to download

  1. JFreeChart

Following jar must be in classpath

  1. jfreechart-1.5.0.jar
  2. jcommon-1.0.24.jar

pom.xml

<dependency>
	<groupId>org.jfree</groupId>
	<artifactId>jfreechart</artifactId>
	<version>1.5.0</version>
</dependency>
<dependency>
	<groupId>org.jfree</groupId>
	<artifactId>jcommon</artifactId>
	<version>1.0.24</version>
</dependency>

We can create following professional quality charts by using jfreechart.

  • Single valued Charts such as compass, speedometer, thermometer
  • Line Chart
  • Pie Chart
  • Bar Chart
  • Bubble Chart
  • Wind Chart
  • Polar Chart

JFreeChart Example(Area Chart)

import javax.swing.JFrame;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;

public class JFreeChartAreaChartExample extends JFrame {

    private static final long serialVersionUID = 1L;

    public JFreeChartAreaChartExample(String applicationTitle, String chartTitle) {
	super(applicationTitle);

	// based on the dataset we create the chart
	JFreeChart chart = ChartFactory.createAreaChart(chartTitle, "Category", "Score", createDataset(),
		PlotOrientation.VERTICAL, true, true, true);

	// Adding chart into a chart panel
	ChartPanel chartPanel = new ChartPanel(chart);

	// settind default size
	chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));

	// add to contentPane
	setContentPane(chartPanel);
    }

    private CategoryDataset createDataset() {

	// row keys...
	final String chrome = "Chrome";
	final String firefox = "Firefox";
	final String iexplorer = "InternetExplorer";

	// column keys...
	final String speed = "Speed";
	final String popular = "Popular";
	final String response = "Response";
	final String osindependent = "OS Independent";
	final String features = "Features";

	// create the dataset...
	final DefaultCategoryDataset dataset = new DefaultCategoryDataset();

	dataset.addValue(5.0, chrome, speed);
	dataset.addValue(7.0, chrome, popular);
	dataset.addValue(6.0, chrome, response);
	dataset.addValue(6.0, chrome, osindependent);
	dataset.addValue(7.0, chrome, features);

	dataset.addValue(4.0, firefox, speed);
	dataset.addValue(6.0, firefox, popular);
	dataset.addValue(5.0, firefox, response);
	dataset.addValue(5.0, firefox, osindependent);
	dataset.addValue(6.0, firefox, features);
	
	dataset.addValue(3.0, iexplorer, speed);
	dataset.addValue(4.0, iexplorer, popular);
	dataset.addValue(4.0, iexplorer, response);
	dataset.addValue(1.0, iexplorer, osindependent);
	dataset.addValue(5.0, iexplorer, features);

	return dataset;

    }

    public static void main(String[] args) {
	JFreeChartAreaChartExample chart = new JFreeChartAreaChartExample("Browser Usage Statistics",
		"Which Browser are you using?");
	chart.pack();
	chart.setVisible(true);
    }
}


Output












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