[java] JFreeChart에서 파이 차트 그리기

JFreeChart는 자바 기반의 오픈 소스 차트 라이브러리로, 다양한 종류의 차트를 그릴 수 있습니다. 이번에는 JFreeChart를 사용하여 파이 차트를 그려보겠습니다.

먼저, JFreeChart를 다운로드하고 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml 파일에 아래와 같이 의존성을 추가하세요:

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

파이 차트를 그리기 위해서는 데이터를 가지고 있어야 합니다. 예를 들어, 다음과 같은 데이터를 사용해보겠습니다:

DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("Apple", 40);
dataset.setValue("Banana", 20);
dataset.setValue("Orange", 30);

위에서는 Apple, Banana, Orange 세 가지 항목의 데이터를 가지고 있습니다. 각 항목의 값은 각각 40, 20, 30으로 설정되어 있습니다.

이제 파이 차트를 만들고 그릴 차트 객체를 생성합니다:

JFreeChart chart = ChartFactory.createPieChart("Fruit Chart", dataset, true, true, false);

createPieChart() 메서드의 첫 번째 매개변수는 차트의 제목을 설정하는데 사용됩니다. 두 번째 매개변수는 데이터셋을 전달하고, 세 번째 매개변수는 범례 표시 여부를 결정합니다. 네 번째 매개변수는 도넛 형태의 차트를 그릴지 여부를 결정하는데 사용됩니다. 마지막 매개변수는 차트에 3D 효과를 사용할지 여부를 결정합니다.

파이 차트의 크기를 조정하려면 해당 차트 객체의 설정을 변경합니다:

chart.getPlot().setPreferredSize(new Dimension(500, 500));

파이 차트를 그리기 위해서는 차트 판넬을 생성하고, 프레임에 판넬을 추가해야 합니다:

ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new Dimension(500, 500));

JFrame frame = new JFrame("Pie Chart Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(chartPanel);

frame.pack();
frame.setVisible(true);

위 코드에서는 차트 판넬의 크기를 설정하고, 프레임에 차트 판넬을 추가하여 화면에 차트를 표시합니다. 프레임의 크기는 차트 판넬의 크기에 맞게 조정됩니다.

이제 실행하면 파이 차트가 표시됩니다.

참고 자료