[java] JFreeChart에서 Volume 차트 그리기

JFreeChart는 자바로 작성된 오픈 소스 차트 라이브러리입니다. 이 라이브러리를 사용하여 종목의 거래량을 나타내는 Volume 차트를 그려보겠습니다.

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

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

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

Gradle을 사용하는 경우 build.gradle 파일에 다음 의존성을 추가합니다:

dependencies {
    implementation 'org.jfree:jfreechart:1.5.3'
}

2. 데이터 가져오기

Volume 차트를 그리기 위해 먼저 거래량 데이터를 가져와야 합니다. 이 예시에서는 간단히 배열로 표현한 데이터를 사용하였습니다:

double[] volumes = {5000, 6000, 4500, 3500, 4000, 5500, 6000};

3. 차트 그리기

JFreeChart를 사용하여 Volume 차트를 그릴 수 있습니다. 아래 예제 코드는 거래량 데이터를 이용하여 차트를 생성하고, 차트를 그리는 단계를 보여줍니다:

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

public class VolumeChartExample {
    public static void main(String[] args) {
        double[] volumes = {5000, 6000, 4500, 3500, 4000, 5500, 6000};
        
        // 데이터셋 생성
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
        for (int i = 0; i < volumes.length; i++) {
            dataset.addValue(volumes[i], "거래량", "Day" + (i+1));
        }
        
        // 차트 생성
        JFreeChart chart = ChartFactory.createBarChart("Volume Chart", "일자", "거래량", dataset);
        
        // 차트를 윈도우에 표시
        ChartFrame frame = new ChartFrame("Volume Chart", chart);
        frame.setVisible(true);
        frame.setSize(500, 500);
    }
}

4. 실행 결과

위의 예제 코드를 실행하면 차트가 나타난 윈도우 창이 열리고, 일자별 거래량을 나타내는 Volume 차트를 보실 수 있습니다.


참고 자료: