要在Java中使用已有的Excel文件数据绘制历时曲线,需要使用一些Java库来读取Excel文件和绘制曲线。以下是一个示例代码,使用Apache POI库读取Excel文件,并使用JFreeChart库绘制历时曲线。

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;

public class ExcelChart {

    public static void main(String[] args) throws IOException {

        // 读取Excel文件
        InputStream inp = new FileInputStream("data.xlsx");
        Workbook wb = WorkbookFactory.create(inp);
        Sheet sheet = wb.getSheetAt(0);

        // 读取Excel数据
        List<Double> values = new ArrayList<Double>();
        Iterator<Row> rowIterator = sheet.iterator();
        while (rowIterator.hasNext()) {
            Row row = rowIterator.next();
            Iterator<Cell> cellIterator = row.cellIterator();
            while (cellIterator.hasNext()) {
                Cell cell = cellIterator.next();
                if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
                    values.add(cell.getNumericCellValue());
                }
            }
        }

        // 绘制历时曲线
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
        for (int i = 0; i < values.size(); i++) {
            dataset.addValue(values.get(i), "Value", String.valueOf(i));
        }
        JFreeChart chart = ChartFactory.createLineChart("Time Series Chart",
                "Time", "Value", dataset, PlotOrientation.VERTICAL, true, true,
                false);
        ChartUtilities.saveChartAsPNG(new File("chart.png"), chart, 800, 600);
    }
}

在这个示例代码中,我们首先使用Apache POI库读取Excel文件中的数据,然后将数据添加到一个列表中。接着,我们使用JFreeChart库创建一个默认分类数据集,并将数据添加到数据集中。最后,我们使用数据集创建一个历时曲线图,并将其保存为PNG格式的图像文件。

请注意,这个示例代码仅仅是一个简单的示例,实际应用中可能需要更复杂的数据处理和图表绘制

Java利用已有EXCEL文件数据在原EXCEL文件中绘制历时曲线

原文地址: https://www.cveoy.top/t/topic/hwl6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录