📅  最后修改于: 2023-12-03 15:02:07.983000             🧑  作者: Mango
JFreeChart是一个Java开源图形库,可用于创建各种类型的图表,例如条形图、折线图、饼图等。在本文中,我们将重点介绍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);
}
}
通过创建数据集和使用ChartFactory
的createBarChart()
方法,我们可以创建一个简单的条形图。
JFreeChart提供了创建丰富而强大的条形图的功能。上面的例子只是冰山一角。通过浏览JFreeChart的官方文档,您可以了解更多的配置选项,并使用不同的数据集类型和图表类型来创建定制的图表。