[swift] - Swift Charts로 대기 오염도 표시하기

이번에는 Swift Charts 라이브러리를 사용하여 대기 오염도를 표시하는 방법을 알아보겠습니다.

1. Swift Charts 라이브러리 설치하기

Swift Charts는 CocoaPods를 통해 설치할 수 있습니다. Podfile에 다음과 같이 추가해주세요:

pod 'Charts'

그리고 터미널에서 다음 명령어를 실행하여 라이브러리를 설치해주세요:

$ pod install

2. 대기 오염도 데이터 가져오기

대기 오염도 데이터를 가져오기 위해 REST API를 사용할 수 있습니다. 예를 들어, 대기 오염도 API는 다음과 같은 형식으로 데이터를 제공할 수 있습니다:

{
  "pm2_5": 35,
  "pm10": 50,
  "co": 0.5,
  "no2": 0.015,
  "so2": 0.006,
  "o3": 0.04
}

위와 같은 형식으로 데이터를 가져와서 Swift의 Decodable 프로토콜을 사용하여 파싱할 수 있습니다. 예를 들어, 다음과 같은 AirQuality 구조체를 정의할 수 있습니다:

struct AirQuality: Decodable {
    let pm2_5: Int
    let pm10: Int
    let co: Double
    let no2: Double
    let so2: Double
    let o3: Double
}

3. 차트 렌더링하기

Swift Charts를 사용하여 대기 오염도 데이터를 시각화할 수 있습니다. 예를 들어, 막대 그래프를 사용하여 대기 오염도를 표시하는 코드는 다음과 같습니다:

import Charts

func renderChart(with airQuality: AirQuality) {
    let chartView = BarChartView(frame: CGRect(x: 0, y: 0, width: 300, height: 200))
    
    let entries: [BarChartDataEntry] = [
        BarChartDataEntry(x: 0, y: airQuality.pm2_5),
        BarChartDataEntry(x: 1, y: airQuality.pm10),
        BarChartDataEntry(x: 2, y: airQuality.co),
        BarChartDataEntry(x: 3, y: airQuality.no2),
        BarChartDataEntry(x: 4, y: airQuality.so2),
        BarChartDataEntry(x: 5, y: airQuality.o3)
    ]
    
    let dataSet = BarChartDataSet(entries: entries, label: "Air Quality")
    let data = BarChartData(dataSet: dataSet)
    chartView.data = data
    
    self.view.addSubview(chartView)
}

위의 코드에서는 BarChartView를 생성하고 대기 오염도 데이터를 BarChartDataEntry로 변환하여 BarChartDataSet에 추가한 뒤, BarChartData를 생성하여 chartView에 적용합니다.

4. 실행 결과 확인하기

위의 코드를 실행하면 대기 오염도 데이터를 막대 그래프로 시각화할 수 있습니다. 이렇게 시각화된 차트를 사용자에게 제공하여 대기 오염 상황을 쉽게 이해할 수 있도록 도와줄 수 있습니다.

참고 자료