iOS Swift - 그래프

하재은·2022년 4월 11일
0

iOS

목록 보기
19/19

1. 그래프를 사용하기 위해 코코아팟에 >

pod 'Charts', '~> 3.5.0' 입력하여
pod install을 해준 뒤 class에 import Charts 추가하기

2. UIView 생성 후 뷰의 Custom Class > Class [BarChartView] 로 설정하기

막대그래프 : BarChartView
원그래프(파이차트) : pieChart
선그래프(라인차트) : lineChart
(원하는 종류의 차트를 선택)

3. 아울렛 변수로 선언

@IBOutlet var barChartView: BarChartView!

4. 데이터 생성

(1) 배열 만들기
var name: [String]!
var birthday: [String]!

(2) viewDidLoad 에 데이터를 넣어주기
name = ["A", "B", "C", "D", "E", "F"]
birthday = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"]

(3) 배열에 데이터가 없는 경우 '데이터가 없음' 문구를 출력하도록 만들기
barChartView.noDataText = "데이터가 없음"
barChartView.noDataFont = .systemFont(ofSize: 20)
barChartView.noDataTextColor = .lightGray

5. 데이터 넣기

(1) 메서드 만들기
func setChart(dataPoints: [String], values: [String]) { }
(2) viewDidLoad 실행
setChart(dataPoints: months, values: unitsSold)

6. 소스

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
33
34
35
36
37
38
39
40
41
42
43
44
import UIKit
import Charts // 코코아팟으로 설치해준 뒤 추가해주어야 함(그래야 그래프 사용 가능)
 
class ViewController: UIViewController {
 
    @IBOutlet var barChartView: BarChartView! // BarChartView : 막대그래프
    
    var name: [String]!
    var birthday: [String]!    
    
    override func viewDidLoad() {
        super.viewDidLoad()
 
        name = ["A""B""C""D""E""F"]
        birthday = ["Jan""Feb""Mar""Apr""May""Jun"]                
        
        barChartView.noDataText = "데이터가 없음" // 데이터가 없는 경우 출력
        barChartView.noDataFont = .systemFont(ofSize: 20// 출력 사이즈
        barChartView.noDataTextColor = .lightGray // 출력 컬러
        
        setChart(dataPoints: months, values: birthday)
    }
        
    func setChart(dataPoints: [String], values: [String]) {
    // 데이터 생성
        var dataEntries: [BarChartDataEntry] = []
        for i in 0..<dataPoints.count {
            let dataEntry = BarChartDataEntry(x: Double(i), y: values[i])
            dataEntries.append(dataEntry)
        }
 
        let chartDataSet = BarChartDataSet(entries: dataEntries, label: "달성률")
        // 왼쪽 하단 그래프의 값이 어떤 의미인지 
 
        // 차트 컬러
        chartDataSet.colors = [.systemBlue]
 
        // 데이터 삽입
        let chartData = BarChartData(dataSet: chartDataSet)
        barChartView.data = chartData
    
    }
    
}
cs

참고 : https://gonslab.tistory.com/11

0개의 댓글

관련 채용 정보