[swift] - Swift Charts로 자동차 판매량 표시하기

소개

Swift Charts는 Swift 언어로 작성된 iOS 앱에서 그래프를 생성하고 표시하기 위한 강력한 라이브러리입니다. 이 라이브러리를 사용하여 자동차 판매량과 같은 데이터를 시각적으로 표현할 수 있습니다.

이 글에서는 Swift Charts 라이브러리를 이용하여 자동차 판매량을 표시하는 방법에 대해 알아보겠습니다.

설치

Swift Charts 라이브러리는 CocoaPods를 통해 손쉽게 설치할 수 있습니다.

pod 'Charts'

Podfile에 위의 줄을 추가한 후에는 터미널에서 pod install 명령을 실행하면 라이브러리가 자동으로 설치됩니다.

사용 방법

아래는 Swift Charts를 사용하여 자동차 판매량을 표시하는 예제입니다. 이 예제에서는 BarChartView를 사용하여 막대 그래프를 생성하고 판매량 데이터를 표시합니다.

import Charts

class ViewController: UIViewController {

    @IBOutlet weak var barChartView: BarChartView!

    override func viewDidLoad() {
        super.viewDidLoad()

        setChartData()
    }

    func setChartData() {
        // 판매량 데이터 설정
        let dataPoints = ["2016", "2017", "2018", "2019", "2020"]
        let salesData = [12000, 15000, 18000, 22000, 25000]

        // 데이터 엔트리 생성
        var dataEntries: [BarChartDataEntry] = []
    
        for i in 0..<dataPoints.count {
            let dataEntry = BarChartDataEntry(x: Double(i), y: Double(salesData[i]))
            dataEntries.append(dataEntry)
        }
        
        // 데이터셋 생성
        let chartDataSet = BarChartDataSet(entries: dataEntries, label: "판매량")
        
        // 차트 데이터 설정
        let chartData = BarChartData(dataSet: chartDataSet)
        
        // X축 값 설정
        let xAxisValue = barChartView.xAxis
        xAxisValue.valueFormatter = IndexAxisValueFormatter(values: dataPoints)
        
        // 그래프 스타일 설정
        chartDataSet.colors = [.systemBlue]
        
        // 막대 그래프에 데이터 표시
        barChartView.data = chartData
    }
}

위의 코드에서 dataPoints 배열에는 연도별 데이터, salesData 배열에는 해당 연도의 판매량 데이터를 입력합니다. 이후 dataEntries 배열에는 BarChartDataEntry 객체를 생성하여 막대 그래프에 표시할 데이터를 준비합니다.

chartDataSet은 BarChartDataEntry를 이용하여 데이터셋을 생성합니다. 이때 label 파라미터는 그래프에 표시될 데이터의 설명을 설정하는 옵션입니다.

마지막으로 barChartViewdata 프로퍼티에 위에서 생성한 chartData를 대입하여 그래프를 표시합니다.

실행 결과

위의 코드를 실행하면 다음과 같은 그래프가 생성됩니다.

BarChart

결론

Swift Charts 라이브러리는 iOS 앱에서 다양한 유형의 그래프를 생성하고 표시하는 데 유용한 도구입니다. 이를 활용하여 자동차 판매량과 같은 데이터를 시각적으로 표현할 수 있습니다.