[java] JFreeChart에서 100% Stacked Bar 차트 그리기
JFreeChart는 Java에서 사용할 수 있는 강력한 차트 라이브러리입니다. 이 라이브러리를 사용하여 100% Stacked Bar 차트를 그릴 수 있습니다. 100% Stacked Bar 차트는 다양한 범주에 대한 데이터의 상대적인 비율을 비교하는데 유용합니다.
JFreeChart 및 JCommon 라이브러리 가져오기
먼저 JFreeChart와 JCommon 라이브러리를 사용하기 위해 해당 라이브러리들을 가져와야 합니다. 아래와 같이 Maven을 통해 의존성을 추가할 수 있습니다.
<dependency>
<groupId>org.jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.5.3</version>
</dependency>
<dependency>
<groupId>org.jfree</groupId>
<artifactId>jcommon</artifactId>
<version>1.0.23</version>
</dependency>
또는 직접 다운로드하여 프로젝트에 추가할 수도 있습니다.
100% Stacked Bar 차트 생성하기
아래는 100% Stacked Bar 차트를 생성하는 예제 코드입니다.
import org.jfree.chart.*;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.renderer.category.StackedBarRenderer;
import org.jfree.data.category.DefaultCategoryDataset;
public class StackedBarChartExample {
public static void main(String[] args) {
// 데이터셋 생성
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(20, "A", "Category 1");
dataset.addValue(30, "A", "Category 2");
dataset.addValue(50, "A", "Category 3");
dataset.addValue(40, "B", "Category 1");
dataset.addValue(10, "B", "Category 2");
dataset.addValue(30, "B", "Category 3");
// 차트 생성
JFreeChart chart = ChartFactory.createStackedBarChart(
"100% Stacked Bar Chart", // 차트 제목
"Category", // x축 레이블
"Value", // y축 레이블
dataset, // 데이터셋
PlotOrientation.VERTICAL, // 차트 방향
true, // 범례 표시 여부
true, // 도구팁 표시 여부
false // URL 링크 표시 여부
);
// 차트 스타일 설정
CategoryPlot plot = (CategoryPlot) chart.getPlot();
StackedBarRenderer renderer = (StackedBarRenderer) plot.getRenderer();
renderer.setRenderAsPercentages(true); // 상대적인 비율로 표시
// 차트 출력
ChartFrame frame = new ChartFrame("Stacked Bar Chart Example", chart);
frame.pack();
frame.setVisible(true);
}
}
실행 결과
위의 예제 코드를 실행하면 100% Stacked Bar 차트가 생성됩니다. 각 범주(Category) 별로 데이터의 상대적인 비율이 표시되어 있습니다.
위 예제 코드를 참고하여 자신의 데이터에 맞게 100% Stacked Bar 차트를 그려보세요. JFreeChart는 다양한 차트 유형과 옵션을 제공하므로 차트를 다양하게 커스터마이징할 수 있습니다.