比较好用的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画