자바를 통해 그래프를 그려주기 위해서는 그래프를 나타낼 수 있는 라이브러리를 불러오는 과정이 필요하다.
라이브러리는 https://knowm.org/open-source/xchart/ 링크를 통해 다운받을 수 있고 해당 라이브러리를 다운받으면
압축파일 형식의 파일을 다운받게 되는데 이에 대한 압축을 풀어주자.
압축을 풀면 위와 같이 .jar 형식의 파일이 존재하는데 이를 프로젝트에 불러올 수 있도록 셋팅해주자.
그리고 프로젝트 경로에 'buildpath' 폴더를 하나 생성해준 후 해당 경로에 .jar파일을 넣어주자.
그리고 java 프로젝트의 설정을 진행한다.
우선 1. 에 표시된 것과 같이 프로젝트명을 우클릭하고 Properties 항목을 클릭하면 창이 나타난다.
그럼 2~5의 과정을 진행해주고 6의 과정에서 앞에서 buildpath에 지정한 .jar형태의 라이브러리를 불러준다.
위와 같이 xchart-3.8.1.jar 라이브러리가 링크된 것을 확인할 수 있다.
그럼 이제 코드를 입력해보자.
import java.util.function.IntPredicate;
import org.knowm.xchart.QuickChart;
import org.knowm.xchart.SwingWrapper;
import org.knowm.xchart.XYChart;
public class graph {
public static void main(String[] args) {
double[] xData = new double[] {0.0, 1.0, 2.0};
double[] yData = new double[] {2.0, 1.0, 0.0};
XYChart chart = QuickChart.getChart("Sample Chart", "X", "Y", "y(x)", xData, yData);
new SwingWrapper(chart).displayChart();
}
}
결과는 아래와 같다.
그럼 이제 하나의 창에 여러개의 그래프를 그려보자.
import java.util.ArrayList;
import java.util.List;
import org.knowm.xchart.SwingWrapper;
import org.knowm.xchart.XYChart;
import org.knowm.xchart.XYChartBuilder;
import org.knowm.xchart.XYSeries;
import org.knowm.xchart.style.markers.SeriesMarkers;
public class multiple_graph {
public static void main(String[] args) {
int numCharts = 4;
List charts = new ArrayList();
for(int i=0; i<numCharts; i++) {
XYChart chart = new XYChartBuilder().xAxisTitle("X").yAxisTitle("Y").width(600).height(400).build();
chart.getStyler().setYAxisMin(-10.0);
chart.getStyler().setYAxisMax(10.0);
XYSeries series = chart.addSeries(""+i, null, getRandomWalk(200));
series.setMarker(SeriesMarkers.NONE);
charts.add(chart);
}
new SwingWrapper(charts).displayChartMatrix();
}
private static double[] getRandomWalk(int numPoints) {
double[] y = new double[numPoints];
y[0] = 0;
for(int i=1; i<y.length; i++) {
y[i] = y[i-1]+Math.random()-.5;
}
return y;
}
}
'JAVA > 기초공부' 카테고리의 다른 글
JAVA를 통해 GUI 개발하기 (Frame 생성) (0) | 2022.01.31 |
---|---|
Java 접미사(L/F) (0) | 2022.01.31 |
이클립스(Eclipse)를 통한 자바(JAVA) 프로그램 개발환경 구축하기 (0) | 2022.01.31 |