[java] JFreeChart에서 Dual Axis 차트 그리기
JFreeChart는 Java에서 사용할 수 있는 무료 차트 라이브러리입니다. Dual Axis 차트는 두 개의 축을 가지고 데이터를 비교하는 데 유용합니다. 이번 글에서는 JFreeChart를 사용하여 Dual Axis 차트를 그리는 방법을 알아보겠습니다.
1. 프로젝트 설정
먼저, 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. Dual Axis 차트 그리기
JFreeChart를 사용하여 Dual Axis 차트를 그리려면 다음 단계를 따르세요:
2.1. 데이터 준비
Dual Axis 차트에는 두 개의 데이터셋이 필요합니다. 예를 들어, 아래와 같이 두 개의 데이터셋을 생성합니다:
XYSeries series1 = new XYSeries("Series 1");
series1.add(1.0, 5.0);
series1.add(2.0, 10.0);
series1.add(3.0, 15.0);
XYSeries series2 = new XYSeries("Series 2");
series2.add(1.0, 10.0);
series2.add(2.0, 20.0);
series2.add(3.0, 30.0);
2.2. 데이터셋을 생성하고 축을 설정
데이터셋을 생성하고 축을 설정합니다:
XYSeriesCollection dataset = new XYSeriesCollection();
dataset.addSeries(series1);
// Dual Axis에 추가되는 데이터셋은 다른 축을 사용해야 합니다
XYSeriesCollection dataset2 = new XYSeriesCollection();
dataset2.addSeries(series2);
// Dual Axis를 위해 두 번째 데이터셋과 축을 생성
NumberAxis yAxis2 = new NumberAxis("Y2");
yAxis2.setAutoRangeIncludesZero(false);
XYPlot plot = new XYPlot(dataset, xAxis, yAxis, renderer);
plot.setDataset(1, dataset2);
plot.setRangeAxis(1, yAxis2);
2.3. Dual Axis Renderer 설정
Dual Axis Renderer를 설정하여 Dual Axis 차트를 그립니다:
StandardXYItemRenderer renderer = new StandardXYItemRenderer();
renderer.setSeriesPaint(0, Color.BLUE);
renderer.setSeriesPaint(1, Color.RED);
plot.setRenderer(renderer);
plot.mapDatasetToRangeAxis(1, 1);
2.4. 차트 생성 및 출력
마지막으로 차트를 생성하고 출력합니다:
JFreeChart chart = new JFreeChart("Dual Axis Chart", JFreeChart.DEFAULT_TITLE_FONT, plot, true);
ChartPanel chartPanel = new ChartPanel(chart);
JFrame frame = new JFrame("Dual Axis Chart Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(chartPanel);
frame.setSize(500, 400);
frame.setVisible(true);
3. 실행 결과
위의 코드를 실행하면 아래와 같은 Dual Axis 차트가 생성됩니다:
4. 결론
이번 글에서는 JFreeChart를 사용하여 Dual Axis 차트를 그리는 방법을 알아보았습니다. Dual Axis 차트는 두 가지 다른 데이터셋을 비교하기에 유용하며, JFreeChart를 사용하면 쉽게 그릴 수 있습니다. JFreeChart의 다양한 기능을 사용하여 보다 복잡한 차트를 그릴 수도 있으니 자세한 내용은 JFreeChart 공식 문서를 참고하시기 바랍니다.