[java] JFreeChart에서 Time Series 차트 그리기

JFreeChart는 자바에서 데이터 시각화를 위한 라이브러리로 널리 사용되고 있습니다. Time Series 차트는 시간에 따른 데이터의 변화를 보여주는데 유용합니다. 이번 포스트에서는 JFreeChart를 사용하여 Time Series 차트를 그리는 방법을 알아보겠습니다.

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

먼저, 프로젝트에 JFreeChart 라이브러리를 추가해야 합니다. 아래 Maven 종속성을 pom.xml 파일에 추가하여 JFreeChart를 사용할 수 있습니다.

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

2. Time Series 데이터 생성하기

Time Series 차트를 그리기 위해 시간에 따른 데이터를 생성해야 합니다. 예를 들어, 매일의 판매량을 기록한다고 가정해 보겠습니다.

import org.jfree.data.time.Day;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;

TimeSeriesCollection dataset = new TimeSeriesCollection();
TimeSeries salesData = new TimeSeries("Daily Sales");

salesData.add(new Day(1, 1, 2022), 100); // 2022년 1월 1일 판매량
salesData.add(new Day(2, 1, 2022), 150); // 2022년 1월 2일 판매량
// 나머지 날짜의 판매량을 추가로 기록...

dataset.addSeries(salesData);

위 코드에서는 TimeSeriesCollectionTimeSeries를 사용하여 Time Series 데이터를 생성하고, 각 날짜에 해당하는 판매량을 추가하였습니다.

3. JFreeChart를 사용하여 Time Series 차트 그리기

데이터가 준비되었으면, JFreeChart를 사용하여 Time Series 차트를 그릴 수 있습니다.

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;

XYPlot plot;

// Time Series 차트 생성
JFreeChart chart = ChartFactory.createTimeSeriesChart(
    "Daily Sales Chart", // 제목
    "Date", // X축 레이블
    "Sales", // Y축 레이블
    dataset // 데이터셋
);

plot = (XYPlot) chart.getPlot();

// 선 스타일 설정
XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
renderer.setSeriesLinesVisible(0, true);

plot.setRenderer(renderer);

// 그래프 윈도우에 차트를 표시
ChartFrame frame = new ChartFrame("Time Series Chart", chart);
frame.pack();
frame.setVisible(true);

위 코드에서는 ChartFactory.createTimeSeriesChart 메서드를 사용하여 Time Series 차트를 생성하고, 데이터셋을 전달하여 차트에 데이터를 표시합니다. 그리고 ChartFrame을 사용하여 차트를 화면에 표시합니다.

마무리

JFreeChart를 사용하면 자바에서 Time Series 차트를 쉽게 그릴 수 있습니다. 위 코드를 참고하여 자신의 데이터에 맞는 Time Series 차트를 그려보세요.

참고 자료