[java] JFreeChart에서 데이터로드 및 저장하기

JFreeChart는 Java 기반의 강력한 차트 라이브러리입니다. 데이터를 시각화하고 그래프를 생성하는 데 사용됩니다. 이 글에서는 JFreeChart에서 데이터를 로드하고 저장하는 방법을 설명하겠습니다.

데이터 로드하기

먼저, JFreeChart에서 데이터를 로드하기 위해 다음 단계를 따르세요:

  1. 데이터 파일 준비하기: 사용하려는 데이터를 포함하는 파일을 준비합니다. 예를 들어, CSV 파일이나 Excel 파일을 사용할 수 있습니다.
  2. 데이터를 읽는 코드 작성: JFreeChart에서 데이터를 읽기 위해 데이터를 읽을 수 있는 코드를 작성해야 합니다. 데이터 파일의 유형에 따라 적절한 라이브러리를 사용하여 데이터를 읽을 수 있습니다. 예를 들어, CSV 파일의 경우 Apache Commons CSV 라이브러리를 사용할 수 있습니다.
  3. 데이터를 JFreeChart에 로드: 읽은 데이터를 JFreeChart의 데이터셋에 로드합니다. 데이터셋은 JFreeChart에서 그래프를 생성하는 데 사용됩니다.

다음은 CSV 파일에서 데이터를 로드하는 예제 코드입니다:

import org.jfree.data.category.DefaultCategoryDataset;
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVParser;
import org.apache.commons.csv.CSVRecord;

import java.io.FileReader;
import java.io.IOException;

public class DataLoadingExample {
    public static void main(String[] args) throws IOException {
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();

        CSVParser parser = CSVParser.parse(new FileReader("data.csv"), CSVFormat.DEFAULT);
        for (CSVRecord record : parser) {
            String category = record.get(0);
            int value = Integer.parseInt(record.get(1));
            dataset.addValue(value, "Series", category);
        }

        // 데이터셋을 사용하여 그래프 생성 등 필요한 작업 수행
    }
}

위의 코드에서는 Apache Commons CSV를 사용하여 CSV 파일을 읽고, DefaultCategoryDataset 클래스를 사용하여 데이터셋에 값을 추가합니다.

데이터 저장하기

JFreeChart를 사용하여 생성한 차트를 이미지 파일로 저장하는 방법을 알아보겠습니다. JFreeChart는 다양한 형식의 이미지 파일로 저장할 수 있습니다. 예를 들어 PNG, JPG, BMP 등이 있습니다.

다음은 차트를 이미지 파일로 저장하는 예제 코드입니다:

import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;

import java.io.File;
import java.io.IOException;

public class ChartSavingExample {
    public static void main(String[] args) throws IOException {
        JFreeChart chart = ...; // 생성한 차트 객체

        int width = 800; // 이미지 가로 크기
        int height = 600; // 이미지 세로 크기
        File outputImage = new File("chart.png"); // 저장할 이미지 파일

        ChartUtilities.saveChartAsPNG(outputImage, chart, width, height);
    }
}

위의 코드에서는 ChartUtilities 클래스의 saveChartAsPNG 메서드를 사용하여 생성한 차트를 PNG 형식의 이미지 파일로 저장합니다. outputImage 변수에 저장할 이미지 파일의 경로와 이름을 지정하면 됩니다. 필요에 따라 다른 형식의 이미지 파일로 저장할 수도 있습니다.

이제 JFreeChart에서 데이터를 로드하고 저장하는 방법을 알게 되었습니다. JFreeChart를 사용하여 데이터를 시각화하기 위한 다양한 설정과 기능을 활용해보세요!