[java] JFreeChart에서 버블 차트 그리기

JFreeChart는 자바로 개발된 오픈 소스 차트 라이브러리입니다. 이 라이브러리를 사용하면 다양한 종류의 차트를 그릴 수 있습니다. 이번에는 JFreeChart를 사용하여 버블 차트를 그리는 방법에 대해 알아보겠습니다.

JFreeChart 설치

먼저 JFreeChart 라이브러리를 다운로드하여 설치해야 합니다. JFreeChart는 공식 웹사이트에서 다운로드할 수 있습니다. 압축 파일을 해제한 후, JFreeChart 라이브러리 jar 파일을 프로젝트의 클래스패스에 추가해야 합니다.

버블 차트 그리기

아래의 예제 코드는 JFreeChart를 사용하여 버블 차트를 그리는 방법을 보여줍니다.

import org.jfree.chart.*;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.data.xy.*;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;

public class BubbleChartExample extends ApplicationFrame {

    public BubbleChartExample(String title) {
        super(title);
        
        // 데이터셋 생성
        XYSeriesCollection dataset = new XYSeriesCollection();
        XYSeries series = new XYSeries("버블 차트");
        
        // 데이터 추가
        series.add(10, 20, 5);
        series.add(20, 30, 10);
        series.add(30, 40, 15);
        
        dataset.addSeries(series);
        
        // 차트 생성
        JFreeChart chart = ChartFactory.createBubbleChart(
            "버블 차트 예제", // 차트 제목
            "X축", // X축 레이블
            "Y축", // Y축 레이블
            dataset, // 데이터셋
            PlotOrientation.VERTICAL, // 차트 방향
            true, // 범례 표시 여부
            true, // 도구팁 표시 여부
            false // URL 생성 여부
        );
        
        // 차트 스타일 변경
        XYPlot plot = (XYPlot) chart.getPlot();
        plot.setForegroundAlpha(0.65f);
        
        // 차트 창에 추가
        ChartPanel chartPanel = new ChartPanel(chart);
        setContentPane(chartPanel);
    }

    public static void main(String[] args) {
        BubbleChartExample example = new BubbleChartExample("JFreeChart 버블 차트 예제");
        example.pack();
        RefineryUtilities.centerFrameOnScreen(example);
        example.setVisible(true);
    }
}

예제 설명

위의 예제 코드에서는 BubbleChartExample 클래스를 만들고, ApplicationFrame 클래스를 상속받아 차트 창을 생성합니다.

데이터셋은 XYSeriesCollection을 사용하여 생성하고, XYSeries를 만들어 데이터를 추가합니다. 데이터는 X, Y 좌표 값과 버블의 크기로 구성됩니다.

ChartFactory.createBubbleChart 메소드를 사용하여 차트를 생성합니다. 이 메소드는 차트 제목, 축 레이블, 데이터셋 등을 인자로 받습니다.

차트의 스타일을 변경하기 위해 XYPlot 클래스의 인스턴스를 얻어옵니다. 그리고 setForegroundAlpha 메소드를 사용하여 차트의 투명도를 조정합니다.

마지막으로, ChartPanel을 생성하여 차트 창에 추가합니다. main 메소드에서는 BubbleChartExample 클래스를 생성하고, 차트 창을 화면 중앙에 위치시킨 후 보여줍니다.

결론

이번 글에서는 JFreeChart를 사용하여 버블 차트를 그리는 방법에 대해 알아보았습니다. 다양한 차트를 그리기 위해 JFreeChart 라이브러리는 매우 유용하며, 자바 개발자에게 권장되는 라이브러리입니다. JFreeChart 공식 문서에서 더 많은 예제와 설정 옵션을 확인할 수 있습니다.