[java] JFreeChart에서 차트 제어하기

JFreeChart는 자바로 작성된 오픈 소스 라이브러리로, 다양한 종류의 차트를 생성하고 제어할 수 있습니다. 이 글에서는 JFreeChart를 사용하여 차트를 생성하고 제어하는 방법에 대해 알아보겠습니다.

JFreeChart 라이브러리 가져오기

JFreeChart를 사용하기 위해서는 먼저 라이브러리를 다운로드하고 프로젝트에 추가해야 합니다. JFreeChart는 공식 웹사이트에서 다운로드할 수 있습니다. 다운로드 후 압축을 풀고 jfreechart-x.x.x.jar 파일을 프로젝트의 라이브러리 경로에 추가합니다.

차트 생성하기

다음은 JFreeChart를 사용하여 간단한 선 그래프 차트를 생성하는 예제 코드입니다.

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.data.category.DefaultCategoryDataset;

public class ChartExample {
    public static void main(String[] args) {
        // 데이터셋 생성
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
        dataset.addValue(1, "Series 1", "Category 1");
        dataset.addValue(2, "Series 1", "Category 2");
        dataset.addValue(3, "Series 1", "Category 3");

        // 차트 생성
        JFreeChart chart = ChartFactory.createLineChart(
                "Chart Title",
                "Category",
                "Value",
                dataset
        );

        // 차트 프레임에 출력
        ChartFrame frame = new ChartFrame("Chart", chart);
        frame.pack();
        frame.setVisible(true);
    }
}

이 코드는 세 가지 카테고리와 해당 카테고리에 대한 값을 가지는 선 그래프 차트를 생성합니다. ChartFactory.createLineChart 메서드를 사용하여 차트의 타이틀과 축 레이블, 데이터셋을 설정합니다. 그리고 ChartFrame을 사용하여 차트를 화면에 출력합니다.

차트 제어하기

JFreeChart를 사용하면 다양한 방법으로 차트를 제어할 수 있습니다. 예를 들어, 차트의 타이틀이나 축 레이블을 변경하거나 차트의 색상을 설정하는 등의 작업을 할 수 있습니다.

아래는 몇 가지 예제 코드입니다.

차트 타이틀 변경하기

chart.setTitle("New Chart Title");

X축 레이블 변경하기

chart.getCategoryPlot().getDomainAxis().setLabel("New X Axis Label");

Y축 레이블 변경하기

chart.getCategoryPlot().getRangeAxis().setLabel("New Y Axis Label");

시리즈 색상 변경하기

chart.getCategoryPlot().getRenderer().setSeriesPaint(0, Color.RED);

이외에도 JFreeChart는 다양한 기능을 제공하며, 공식 문서를 참고하여 더 많은 기능을 살펴볼 수 있습니다.

결론

JFreeChart는 다양한 종류의 차트를 생성하고 제어할 수 있는 강력한 라이브러리입니다. 이 글에서는 JFreeChart를 사용하여 간단한 선 그래프 차트를 생성하고 제어하는 방법에 대해 알아보았습니다. JFreeChart를 사용하면 프로젝트에서 다양한 시각화 요구를 충족시킬 수 있으며, 자세한 사용법은 공식 문서를 참고하시기 바랍니다.