JFreeChart: Data Visualization

Harry · 11 Sep 2026 · 10 views

What is JFreeChart?

JFreeChart is a Java library for drawing charts: pie, bar, line, XY, area, time series and more. Combined with Swing or PNG/SVG export it is ideal for reports and dashboards.

JFreeChart library overview

Setup

Add the JFreeChart JAR (jfreechart) to the build path.

Adding JFreeChart jar to the project

Creating a Pie Chart

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;

DefaultPieDataset data = new DefaultPieDataset();
data.setValue("Java", 55);
data.setValue("Groovy", 25);
data.setValue("Python", 20);

JFreeChart chart = ChartFactory.createPieChart(
    "Programming Languages", data, true, true, false);

ChartFrame frame = new ChartFrame("Pie Chart", chart);
frame.setSize(600, 400);
frame.setVisible(true);

Creating a Bar Chart

import org.jfree.data.category.DefaultCategoryDataset;

DefaultCategoryDataset bars = new DefaultCategoryDataset();
bars.addValue(120, "Visits", "Mon");
bars.addValue(180, "Visits", "Tue");
bars.addValue(150, "Visits", "Wed");

JFreeChart barChart = ChartFactory.createBarChart(
    "Weekly Visits", "Day", "Count", bars);

Creating a JFreeChart class

Running the demo shows the chart window with the dataset rendered.

JFreeChart output window

Exporting to PNG

import org.jfree.chart.ChartUtils;
import java.io.File;

ChartUtils.saveChartAsPNG(new File("chart.png"), chart, 600, 400);

Key Points

  • ChartFactory builds common chart types from small datasets.
  • Display with ChartFrame or export with ChartUtils.
  • Datasets live in org.jfree.data packages; charts are rendered by a JFreeChart object.
Share this post:

Comments (0)

Please login or register to comment.