📜  JFreeChart-条形图(1)

📅  最后修改于: 2023-12-03 15:02:07.983000             🧑  作者: Mango

JFreeChart-条形图

JFreeChart是一个Java开源图形库,可用于创建各种类型的图表,例如条形图、折线图、饼图等。在本文中,我们将重点介绍JFreeChart的条形图功能。

什么是条形图?

条形图是一种常用的统计图表类型,用于比较不同项目之间的大小或数量。它由一组平行的矩形条表示,每个矩形条的高度表示相应项目的值。

如何使用JFreeChart创建条形图?

以下是一个简单的例子,演示如何使用JFreeChart创建一个简单的条形图:

import java.awt.Color;
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.DefaultCategoryDataset;
import javax.swing.JFrame;

public class BarChartExample extends JFrame {

    private static final long serialVersionUID = 1L;

    public BarChartExample(String title) {
        super(title);

        // 创建数据集
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
        dataset.addValue(10, "China", "2005");
        dataset.addValue(20, "USA", "2005");
        dataset.addValue(30, "Japan", "2005");
        dataset.addValue(40, "China", "2010");
        dataset.addValue(50, "USA", "2010");
        dataset.addValue(60, "Japan", "2010");

        // 创建条形图
        JFreeChart chart = ChartFactory.createBarChart(
            "Population by Country and Year",   // 图表标题
            "Country",                          // X 轴标签
            "Population",                       // Y 轴标签
            dataset,                            // 数据集
            PlotOrientation.VERTICAL,           // 图表方向
            true,                               // 是否显示图例
            true,                               // 是否生成工具提示
            false                               // 是否生成 URL 链接
        );

        // 设置背景色
        chart.setBackgroundPaint(Color.white);

        // 设置图例背景色
        chart.getLegend().setBackgroundPaint(Color.white);

        // 创建图形面板
        ChartPanel chartPanel = new ChartPanel(chart);

        // 把图形面板添加到窗口中
        setContentPane(chartPanel);
    }

    public static void main(String[] args) {
        BarChartExample example = new BarChartExample("Bar Chart Example");
        example.setSize(800, 400);
        example.setLocationRelativeTo(null);
        example.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        example.setVisible(true);
    }
}

通过创建数据集和使用ChartFactorycreateBarChart()方法,我们可以创建一个简单的条形图。

结论

JFreeChart提供了创建丰富而强大的条形图的功能。上面的例子只是冰山一角。通过浏览JFreeChart的官方文档,您可以了解更多的配置选项,并使用不同的数据集类型和图表类型来创建定制的图表。