📜  JFreeChart-XY图表(1)

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

JFreeChart-XY图表介绍

简述

JFreeChart是一个开源的Java图表框架,它能够在Swing应用程序和Web应用程序中生成各种类型的图表。其中,XY图表是JFreeChart中的一种类型,用于展示X和Y轴坐标之间的关系。

使用方法
引入依赖

在Maven项目中,需要在项目的pom.xml文件中加入以下依赖:

<dependency>
    <groupId>org.jfree</groupId>
    <artifactId>jfreechart</artifactId>
    <version>1.5.2</version>
</dependency>
创建图表

创建一个简单的XY图表,在JFreeChart中可以使用ChartFactory类来快速创建。

JFreeChart chart = ChartFactory.createXYLineChart(
       "XY Chart Demo",
       "X",
       "Y",
       dataset,
       PlotOrientation.VERTICAL,
       true,
       true,
       false
);

其中,dataset为数据集,用于存放X和Y轴坐标数据。PlotOrientation.VERTICAL代表XY轴的方向。后面的三个参数分别代表是否显示图例、是否生成工具提示、是否生成URL。

设置样式

可以使用JFreeChart类的getXYPlot()方法获取图表对象,再使用XYPlot类的方法设置各种属性,例如:

XYPlot plot = chart.getXYPlot();

// 设置背景色为浅灰色
plot.setBackgroundPaint(Color.lightGray);

// 设置X轴和Y轴的标签字体
Font font = new Font("Dialog", Font.PLAIN, 14);
plot.getDomainAxis().setLabelFont(font);
plot.getRangeAxis().setLabelFont(font);

// 设置数据范围
plot.getDomainAxis().setRange(0.0, 10.0);
plot.getRangeAxis().setRange(0.0, 100.0);
添加数据

可以使用XYSeries类创建一个数据序列,再将数据序列添加到数据集中。

XYSeries series = new XYSeries("XY Series");

series.add(1.0, 10.0);
series.add(2.0, 20.0);
series.add(3.0, 30.0);
series.add(4.0, 40.0);

XYSeriesCollection dataset = new XYSeriesCollection();
dataset.addSeries(series);
显示图表

将图表对象添加到一个ChartPanel中,再将ChartPanel添加到Swing容器中即可显示图表。

ChartPanel chartPanel = new ChartPanel(chart);
JFrame frame = new JFrame("XY Chart Demo");
frame.setLayout(new BorderLayout());
frame.add(chartPanel, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
结语

JFreeChart-XY图表是JFreeChart框架中常用的一种图表类型,可以展示X和Y轴坐标之间的关系。开发者可以使用JFreeChart提供的API创建图表、设置样式、添加数据等,生成符合需求的XY图表。