[java] JFreeChart에서 레이블 추가하기

JFreeChart는 Java로 작성된 오픈 소스 라이브러리로, 다양한 종류의 그래프를 만들 수 있습니다. 이 라이브러리를 사용하여 그래프에 레이블을 추가하는 방법을 알아보겠습니다.

1. 레이블 추가하기

JFreeChart에서는 CategoryPlot 또는 XYPlot 클래스에 레이블을 추가할 수 있습니다. 이러한 클래스는 그래프의 축과 데이터를 관리하고 표시하는 역할을 합니다.

아래의 예제는 CategoryPlot을 사용하여 수직 막대 그래프에서 레이블을 추가하는 방법을 보여줍니다.

CategoryPlot plot = chart.getCategoryPlot();

CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setLabel("X축 레이블");

ValueAxis rangeAxis = plot.getRangeAxis();
rangeAxis.setLabel("Y축 레이블");

CategoryItemRenderer renderer = (CategoryItemRenderer) plot.getRenderer();
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setBaseItemLabelsVisible(true);

위의 코드에서 CategoryPlot 객체를 사용하여 그래프의 축을 가져옵니다. domainAxis는 X축을, rangeAxis는 Y축을 나타냅니다.

setLabel() 메서드를 사용하여 축에 레이블을 설정할 수 있습니다. 해당 메서드의 인자는 레이블의 내용입니다.

CategoryItemRenderer 객체를 사용하여 그래프의 렌더러를 가져옵니다. setBaseItemLabelGenerator() 메서드를 사용하여 레이블의 생성기를 설정하고, setBaseItemLabelsVisible() 메서드를 사용하여 레이블의 표시 여부를 설정합니다.

2. 사용 가능한 레이블 생성기

JFreeChart에서는 다양한 종류의 레이블 생성기를 제공합니다. 이 생성기를 사용하여 레이블의 내용과 형식을 커스터마이즈할 수 있습니다.

아래의 예제는 StandardCategoryItemLabelGenerator를 사용하여 레이블의 형식을 설정하는 방법을 보여줍니다.

CategoryItemRenderer renderer = (CategoryItemRenderer) plot.getRenderer();
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator("{0}", NumberFormat.getInstance()));

위의 코드에서 {0}는 레이블의 내용으로 데이터 값을 나타냅니다. NumberFormat은 데이터 값을 포맷팅하기 위해 사용되는 형식입니다.

위의 예제를 참고하여 필요한 형식에 맞게 레이블 생성기를 설정할 수 있습니다.

3. 결론

JFreeChart를 사용하여 그래프에 레이블을 추가하는 방법을 배웠습니다. CategoryPlot 또는 XYPlot 클래스를 통해 축과 레이블을 관리하고, CategoryItemRenderer를 통해 레이블의 생성기와 표시 여부를 설정할 수 있습니다.

더 많은 정보를 알고 싶다면, JFreeChart 공식 웹사이트를 참고하십시오.