[java] JFreeChart에서 축 설정하기
JFreeChart에서 축을 설정하는 방법은 간단합니다. 아래의 예시 코드를 통해 자세히 살펴보겠습니다.
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import javax.swing.*;
import java.awt.*;
public class AxisExample {
public static void main(String[] args) {
// 데이터셋 생성
XYDataset dataset = createDataset();
// 그래프 생성
JFreeChart chart = ChartFactory.createXYLineChart(
"Chart Title",
"X Axis",
"Y Axis",
dataset,
PlotOrientation.VERTICAL,
true,
true,
false
);
// 축 설정
XYPlot plot = chart.getXYPlot();
NumberAxis xAxis = (NumberAxis) plot.getDomainAxis();
NumberAxis yAxis = (NumberAxis) plot.getRangeAxis();
// X축 설정
xAxis.setRange(0, 10); // X축 범위 설정
xAxis.setLabel("X Label"); // X축 레이블 설정
xAxis.setTickUnit(new NumberAxis.DefaultTickUnit(1)); // X축 눈금 간격 설정
// Y축 설정
yAxis.setRange(0, 20); // Y축 범위 설정
yAxis.setLabel("Y Label"); // Y축 레이블 설정
yAxis.setTickUnit(new NumberAxis.DefaultTickUnit(2.5)); // Y축 눈금 간격 설정
// 차트를 나타내는 패널 생성
ChartPanel chartPanel = new ChartPanel(chart);
// JFrame 생성
JFrame frame = new JFrame("Axis Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add(chartPanel, BorderLayout.CENTER);
frame.setSize(500, 400);
frame.setVisible(true);
}
private static XYDataset createDataset() {
// 데이터 포인트 생성
XYSeries series = new XYSeries("Data");
series.add(1, 2);
series.add(3, 4);
series.add(5, 6);
series.add(7, 8);
series.add(9, 10);
// 데이터셋 생성
XYSeriesCollection dataset = new XYSeriesCollection();
dataset.addSeries(series);
return dataset;
}
}
위의 코드에서는 JFreeChart를 사용하여 XYLineChart를 생성하고, X축과 Y축을 설정하였습니다. X축과 Y축의 범위, 레이블, 눈금 간격을 설정하기 위해 NumberAxis
클래스의 메서드를 사용했습니다.
주의할 점은 X축과 Y축을 각각 NumberAxis
로 캐스팅해야 한다는 것입니다. 이를 통해 해당 축의 설정 메서드를 사용할 수 있습니다.
축 설정 이후에는 ChartPanel
을 생성하여 차트를 나타내는 패널로 설정하고, JFrame
을 생성하여 차트를 보여줍니다.
이처럼 JFreeChart에서 축을 설정하는 방법은 간단하면서도 유연합니다. 필요한 설정을 적절히 조절하여 다양한 그래프를 효율적으로 표현할 수 있습니다.
더 자세한 내용은 JFreeChart 공식 홈페이지에서 확인할 수 있습니다.