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.

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

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);
Running the demo shows the chart window with the dataset rendered.

Exporting to PNG
import org.jfree.chart.ChartUtils;
import java.io.File;
ChartUtils.saveChartAsPNG(new File("chart.png"), chart, 600, 400);Key Points
ChartFactorybuilds common chart types from small datasets.- Display with
ChartFrameor export withChartUtils. - Datasets live in
org.jfree.datapackages; charts are rendered by a JFreeChart object.