[java] JFreeChart에서 차트 이미지로 내보내기

JFreeChart는 자바 기반의 오픈 소스 라이브러리로, 간단하게 차트를 생성하고 표현할 수 있는 기능을 제공합니다. 이번 글에서는 JFreeChart를 사용하여 생성한 차트를 이미지로 내보내는 방법에 대해 알아보겠습니다.

1. JFreeChart 라이브러리 추가하기

JFreeChart를 사용하기 위해서는 먼저 해당 라이브러리를 프로젝트에 추가해야 합니다. 다음과 같이 Maven을 사용하는 경우, pom.xml 파일에 아래의 의존성을 추가합니다.

<dependencies>
    <dependency>
        <groupId>org.jfree</groupId>
        <artifactId>jfreechart</artifactId>
        <version>1.5.3</version>
    </dependency>
</dependencies>

Maven을 사용하지 않는 경우, JFreeChart의 공식 웹사이트에서 라이브러리를 직접 다운로드하여 프로젝트에 추가합니다.

2. 차트 생성하기

JFreeChart를 사용하여 차트를 생성하는 방법에 대해서는 다른 문서에서 자세히 설명하고 있으므로, 여기서는 단순히 차트를 생성한다고 가정하겠습니다. 예를 들어, 선 그래프를 생성하는 코드는 다음과 같습니다.


import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.DefaultXYDataset;

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

public class ChartExporter {
    public static void main(String[] args) {
        // 더미 데이터셋 생성
        double[][] data = {{1, 2, 3, 4, 5}, {1, 2, 3, 4, 5}};
        XYDataset dataset = new DefaultXYDataset();
        ((DefaultXYDataset) dataset).addSeries("Series 1", data);

        // 차트 생성
        JFreeChart chart = ChartFactory.createXYLineChart(
                "Line Chart", "X", "Y", dataset
        );

        // 차트를 이미지로 내보내기
        try {
            ChartUtilities.saveChartAsPNG(new File("chart.png"), chart, 800, 600);
            System.out.println("차트 이미지를 성공적으로 내보냈습니다.");
        } catch (IOException e) {
            System.err.println("차트 이미지 내보내기 실패: " + e.getMessage());
        }
    }
}

위의 코드는 DefaultXYDataset를 사용하여 더미 데이터셋을 생성하고, ChartFactory.createXYLineChart 메소드를 사용하여 선 그래프를 생성합니다. 마지막으로, ChartUtilities.saveChartAsPNG 메소드를 호출하여 차트를 이미지로 내보냅니다.

3. 차트 이미지 확인하기

위의 코드를 실행하면 프로젝트 루트 디렉토리에 chart.png 파일이 생성됩니다. 이 파일을 열어서 생성된 차트 이미지를 확인할 수 있습니다.

참고 자료

이상으로 JFreeChart를 사용하여 차트 이미지를 내보내는 방법에 대해 알아보았습니다. 차트를 이미지로 저장하여 필요에 따라 다른 문서나 애플리케이션에서 활용할 수 있습니다.