티스토리 뷰
JavaFX Line Chart 데이터 삽입
이번 시간에는 지난 시간에 이어서 LineChart에 실제 데이터를 넣는 방법을 알아보겠습니다. 차트 만드는 방법은 이전 포스트를 참고해주시면 됩니다.
그럼 일단 차트에 넣을 데이터를 만들어보죠. LineChart의 상위 클래스인 XYChart 를 살펴보게 되면 data를 넣는 방법은
1. getData() 후에 add(), addAll() 과 같은 메소드를 활용하는 방법.
2. setData() 를 통해 데이터를 세팅 해주는 방법.
위와 같은 형태로 이루어 집니다. 그런데 이때 넣어줘야 하는 데이터 형식도 다릅니다. 아래와 같이 말입니다.
1, XYChart.Series<X, Y> list;
2. ObservableList<XYChart.Series<X, Y>> list;
차이를 아시겠나요 ? getData()를 통해서 add 해주는 경우는 Series list 하나, 즉 데이터 line 하나씩을 넣을수 있는데 반해 setData()를 통한 방법은 1개 이상의 Series들을 ObservableList에 담아서 한번에 넣어줘야 합니다.
저는 간단하게 setData() 방법을 이용해서 데이터를 세팅해보겠습니다. 만든 데이터는 아래와 같습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | ObservableList<XYChart.Series<Number, Number>> list = FXCollections.observableArrayList(); XYChart.Series series1 = new XYChart.Series(); series1.setName("First Data"); series1.getData().add(new XYChart.Data(1, 3)); series1.getData().add(new XYChart.Data(2, 4)); series1.getData().add(new XYChart.Data(3, 5)); series1.getData().add(new XYChart.Data(4, 4)); series1.getData().add(new XYChart.Data(5, 4)); series1.getData().add(new XYChart.Data(6, 6)); series1.getData().add(new XYChart.Data(7, 2)); series1.getData().add(new XYChart.Data(8, 5)); series1.getData().add(new XYChart.Data(9, 3)); series1.getData().add(new XYChart.Data(10, 7)); series1.getData().add(new XYChart.Data(11, 9)); series1.getData().add(new XYChart.Data(12, 5)); XYChart.Series series2 = new XYChart.Series(); series2.setName("Second Data"); series2.getData().add(new XYChart.Data(1, 13)); series2.getData().add(new XYChart.Data(2, 14)); series2.getData().add(new XYChart.Data(3, 15)); series2.getData().add(new XYChart.Data(4, 14)); series2.getData().add(new XYChart.Data(5, 14)); series2.getData().add(new XYChart.Data(6, 16)); series2.getData().add(new XYChart.Data(7, 12)); series2.getData().add(new XYChart.Data(8, 15)); series2.getData().add(new XYChart.Data(9, 13)); series2.getData().add(new XYChart.Data(10, 17)); series2.getData().add(new XYChart.Data(11, 19)); series2.getData().add(new XYChart.Data(12, 15)); list.addAll(series1, series2); | cs |
이제 Controller를 통해서 데이터를 넣어주겠습니다. 컨트롤러 클래스는 아래와 같이 작성하시면 됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public class Controller implements Initializable{ @FXML private VBox root; @FXML private NumberAxis xAxis; @FXML private NumberAxis yAxis; @FXML private LineChart lineChart; @Override public void initialize(URL location, ResourceBundle resources) { //위의 데이터를 넣어주세요 lineChart.setData(list); } } | cs |
■ 결과 화면
결과는 아래와 같습니다.
다음 시간에는 Chart를 스타일링 하는 방법, Chart의 각 컨텐츠에 대해서 알아보도록 하겠습니다.
반응형
'프로그래밍 > JavaFX' 카테고리의 다른 글
[JavaFX] Table View 사용법 (3) | 2017.02.23 |
---|---|
[JavaFX] 컨트롤 이미지 파일로 캡쳐하기 (0) | 2017.02.22 |
[JavaFX] JavaFX Line Chart 구현 하기 (4) | 2017.02.16 |
[JavaFX] FXML Loader를 이용해서 커스텀 컨트롤 UI 구현하기 (0) | 2017.02.15 |
[JavaFX] resources 폴더의 CSS 파일 적용하기 (0) | 2017.02.14 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- TableView
- JavaFX Window Close
- 스프링부트
- git
- 이펙티브
- intelij
- 일본 자전거 여행
- 배낭여행
- 일본여행
- springboot
- JavaFX
- JavaFX Table View
- 배낭 여행
- Java UI
- 인텔리제이
- effectivejava
- effective java
- 자전거
- 자전거 여행
- JavaFX 종료
- 자바
- 텐트
- 일본 배낭여행
- windows
- 방통대 과제물
- JavaFX 테이블뷰
- java
- 일본 여행
- 이펙티브자바
- 이펙티브 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함