📅  最后修改于: 2023-12-03 15:16:39.867000             🧑  作者: Mango
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图表。