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

JFreeChart는 Java에서 사용할 수 있는 강력한 차트 라이브러리입니다. 이 라이브러리를 사용하면 다양한 종류의 차트를 그릴 수 있으며, 그 중에 하나가 Meter 차트입니다.

Meter 차트는 주로 게이지와 같은 모양으로 표현되며, 값의 범위에 따라 색상을 변경하여 시각적으로 표현할 수 있습니다.

JFreeChart 설치

먼저 JFreeChart를 설치해야 합니다. 다음과 같이 Maven을 사용하여 의존성을 추가할 수 있습니다.

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

Meter 차트 그리기

Meter 차트를 그리기 위해서는 MeterPlot 클래스를 사용해야 합니다. 다음은 기본적인 Meter 차트를 그리는 예제입니다.

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.MeterPlot;
import org.jfree.data.Range;
import org.jfree.data.general.DefaultValueDataset;

import javax.swing.*;
import java.awt.*;

public class MeterChartExample extends JFrame {
    public MeterChartExample() {
        // 데이터셋 생성
        DefaultValueDataset dataset = new DefaultValueDataset(75.0); // 초기 값은 75.0

        // 차트 생성
        MeterPlot plot = new MeterPlot(dataset);
        plot.setMeterAngle(180); // Meter의 각도 설정 (0~360)
        plot.setRange(new Range(0, 100)); // Meter의 값 범위 설정
        plot.setDialShape(DialShape.PIE); // Meter의 모양 설정
        plot.setNeedlePaint(Color.RED); // 니들의 색상 설정

        JFreeChart chart = new JFreeChart(plot);
        chart.setBackgroundPaint(Color.WHITE);

        // 차트를 패널에 추가
        ChartPanel panel = new ChartPanel(chart);
        panel.setPreferredSize(new Dimension(400, 400));

        // 프레임에 패널 추가
        add(panel);

        // 프레임 설정
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("Meter Chart Example");
        pack();
        setLocationRelativeTo(null);
    }

    public static void main(String[] args) {
        // 차트를 보여줄 프레임 생성
        SwingUtilities.invokeLater(() -> new MeterChartExample().setVisible(true));
    }
}

위의 예제에서는 DefaultValueDataset을 사용하여 데이터셋을 생성하고, MeterPlot을 사용하여 차트를 생성합니다. MeterPlot의 다양한 설정을 통해 Meter 차트의 모양과 범위, 니들의 색상 등을 변경할 수 있습니다.

결과 확인

위의 예제를 실행하면 다음과 같은 Meter 차트를 볼 수 있습니다.

Meter Chart Example

Meter의 초기 값이 75.0이며, 값이 증가하면 초록색에서 노란색, 빨간색으로 변경되는 것을 확인할 수 있습니다.

결론

JFreeChart를 사용하면 Java로 간단하고 멋진 Meter 차트를 그릴 수 있습니다. Meter 차트는 데이터의 범위를 시각적으로 표현할 때 유용하게 사용될 수 있으므로, 프로젝트에서 필요한 경우 JFreeChart를 활용해보세요.

참고 자료