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

JFreeChart는 Java 기반의 무료 차트 라이브러리로, 다양한 종류의 차트를 그릴 수 있는 기능을 제공합니다. Range 차트는 주어진 범위 내에서 최소값과 최대값을 시각적으로 나타내는 차트 유형입니다. 이 기사에서는 JFreeChart를 사용하여 Range 차트를 그리는 방법을 알아보겠습니다.

먼저, JFreeChart 라이브러리를 다운로드하여 프로젝트에 추가해야 합니다. JFreeChart 공식 웹사이트에서 최신 버전을 다운로드하고, 다음과 같이 Maven 등의 빌드 도구를 사용하여 라이브러리를 추가할 수 있습니다:

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

이제 Range 차트를 그리기 위해 필요한 데이터를 생성해야 합니다. 아래는 예시 데이터입니다:

DefaultIntervalCategoryDataset dataset = new DefaultIntervalCategoryDataset();

dataset.add(new Range(10, 20), "Series 1", "Category 1");
dataset.add(new Range(15, 25), "Series 1", "Category 2");
dataset.add(new Range(5, 15), "Series 2", "Category 1");
dataset.add(new Range(8, 18), "Series 2", "Category 2");

위의 코드에서는 DefaultIntervalCategoryDataset 객체를 사용하여 데이터를 추가하고 있습니다. Range 클래스는 최소값과 최대값을 나타내는 범위를 생성하기 위해 사용됩니다.

마지막으로, JFreeChart를 사용하여 Range 차트를 그릴 수 있습니다:

CategoryAxis categoryAxis = new CategoryAxis("Category");
NumberAxis valueAxis = new NumberAxis("Value");

RangeCategoryPlot plot = new RangeCategoryPlot(dataset, categoryAxis, valueAxis);
JFreeChart chart = new JFreeChart("Range Chart", JFreeChart.DEFAULT_TITLE_FONT, plot, true);

ChartFrame frame = new ChartFrame("My Chart", chart);
frame.pack();
frame.setVisible(true);

위의 코드는 CategoryAxisNumberAxis를 사용하여 각각 x축과 y축의 레이블을 설정하고, RangeCategoryPlot 객체를 생성하여 데이터셋과 축을 설정합니다. 그리고 JFreeChart 객체를 생성하여 차트의 제목과 플롯을 설정하며, 마지막으로 ChartFrame을 사용하여 차트를 출력합니다.

이제 코드를 실행하면 Range 차트가 나타나게 됩니다. 만약 원하는 스타일 또는 추가적인 설정이 있다면 JFreeChart 문서를 참조하시기 바랍니다.

참고 자료