比较好用的Java画折线图框架
折线图是数据可视化中常用的一种图表类型,用于展示数据的变化趋势。在Java开发中,有很多优秀的框架可以帮助我们轻松地画出漂亮的折线图。本文将介绍几种比较好用的Java画折线图框架,并给出相应的代码示例。
1. JFreeChart
[JFreeChart](
下面是使用JFreeChart画折线图的示例代码:
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.ApplicationFrame;
import java.awt.*;
public class LineChartExample extends ApplicationFrame {
public LineChartExample(String title) {
super(title);
JFreeChart chart = createChart(createDataset());
ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new Dimension(500, 300));
setContentPane(chartPanel);
}
private CategoryDataset createDataset() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(1.0, "Series 1", "Category 1");
dataset.addValue(2.0, "Series 1", "Category 2");
dataset.addValue(3.0, "Series 1", "Category 3");
dataset.addValue(4.0, "Series 1", "Category 4");
dataset.addValue(5.0, "Series 1", "Category 5");
return dataset;
}
private JFreeChart createChart(CategoryDataset dataset) {
JFreeChart chart = ChartFactory.createLineChart(
"Line Chart Example",
"Category",
"Value",
dataset,
PlotOrientation.VERTICAL,
true,
true,
false);
chart.setBackgroundPaint(Color.white);
return chart;
}
public static void main(String[] args) {
LineChartExample example = new LineChartExample("Line Chart Example");
example.pack();
example.setVisible(true);
}
}
以上代码定义了一个LineChartExample
类,继承自ApplicationFrame
,用于显示折线图窗口。在构造方法中,我们创建了一个折线图并设置了数据集。createDataset
方法用于创建数据集,createChart
方法用于创建折线图对象。
2. XChart
[XChart](
下面是使用XChart画折线图的示例代码:
import org.knowm.xchart.*;
import java.util.ArrayList;
import java.util.List;
public class LineChartExample {
public static void main(String[] args) {
List<Double> xData = new ArrayList<>();
List<Double> yData = new ArrayList<>();
for (double x = 0; x <= 2 * Math.PI; x += 0.1) {
xData.add(x);
yData.add(Math.sin(x));
}
XYChart chart = QuickChart.getChart("Line Chart Example", "X", "Y", "y(x)", xData, yData);
new SwingWrapper<>(chart).displayChart();
}
}
以上代码使用XChart库创建了一个折线图对象,并设置了x轴和y轴的数据。QuickChart
类提供了一个便捷方法getChart
用于创建图表对象。最后通过SwingWrapper
类将图表显示在窗口中。
3. JMathPlot
[JMathPlot](
下面是使用JMathPlot画