[java] JFreeChart에서 박스 차트 그리기

JFreeChart는 Java에서 데이터 시각화를 생성하는 데 사용되는 인기있는 오픈 소스 라이브러리입니다. 이 라이브러리를 사용하여 박스 차트를 그리는 방법을 알아보겠습니다.

JFreeChart 라이브러리 추가하기

먼저, 프로젝트에 JFreeChart 라이브러리를 추가해야 합니다. Gradle을 사용하는 경우 build.gradle 파일에 다음 종속성을 추가합니다:

dependencies {
    // 다른 종속성
    implementation group: 'org.jfree', name: 'jfreechart', version: '1.5.3'
}

Maven을 사용하는 경우 pom.xml 파일에 다음 종속성을 추가합니다:

<dependencies>
    <!-- 다른 종속성 -->
    <dependency>
        <groupId>org.jfree</groupId>
        <artifactId>jfreechart</artifactId>
        <version>1.5.3</version>
    </dependency>
</dependencies>

라이브러리를 추가한 후에는 JFreeChart를 사용하여 박스 차트를 그릴 수 있습니다.

박스 차트 그리기

다음은 JFreeChart를 사용하여 박스 차트를 그리는 예제 코드입니다. 코드를 살펴보고 필요에 맞게 수정하십시오.

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.statistics.DefaultBoxAndWhiskerCategoryDataset;

public class BoxChartExample {
    public static void main(String[] args) {
        // 데이터 생성
        DefaultBoxAndWhiskerCategoryDataset dataset = new DefaultBoxAndWhiskerCategoryDataset();
        
        dataset.add(10, 25, 20, 15, 30, "Group 1", "Category 1");
        dataset.add(15, 22, 18, 12, 28, "Group 1", "Category 2");
        dataset.add(12, 20, 16, 10, 25, "Group 1", "Category 3");

        dataset.add(35, 50, 45, 30, 60, "Group 2", "Category 1");
        dataset.add(40, 58, 48, 35, 62, "Group 2", "Category 2");
        dataset.add(38, 55, 47, 32, 65, "Group 2", "Category 3");
        
        // 차트 생성
        JFreeChart chart = ChartFactory.createBoxAndWhiskerChart(
            "Box Chart",
            "Category",
            "Value",
            dataset,
            true
        );

        // 차트 스타일 설정
        CategoryPlot plot = (CategoryPlot) chart.getPlot();
        plot.setOrientation(PlotOrientation.VERTICAL);
        
        // 차트 프레임에 추가하여 표시
        ChartFrame frame = new ChartFrame("Box Chart Example", chart);
        frame.pack();
        frame.setVisible(true);
    }
}

위의 코드는 DefaultBoxAndWhiskerCategoryDataset 클래스를 사용하여 데이터를 생성하고, ChartFactory.createBoxAndWhiskerChart 메서드를 사용하여 박스 차트를 생성합니다. 그리고 생성된 차트를 ChartFrame에 추가하여 화면에 표시합니다.

실행하기

예제 코드를 실행하면 박스 차트가 생성되고 화면에 표시됩니다. 각 카테고리에 대한 값의 분포를 시각적으로 파악할 수 있습니다.

JFreeChart는 다양한 데이터 시각화 유형을 지원하므로 수정하여 다른 차트도 그릴 수 있습니다.

참고 자료