[swift] - Swift Charts로 패션 트렌드 분석하기

소개

이번 프로젝트에서는 Swift Charts 라이브러리를 사용하여 패션 트렌드를 분석하는 방법에 대해 알아보겠습니다. Swift Charts는 iOS 애플리케이션에서 그래프와 차트를 생성하고 표시하는 데 사용되는 강력한 라이브러리입니다.

Swift Charts

Swift Charts 설치하기

Swift Charts를 사용하려면 먼저 프로젝트에 라이브러리를 설치해야 합니다. CocoaPods를 사용하는 경우 Podfile에 다음 줄을 추가한 후, pod install 명령어를 실행하여 라이브러리를 설치합니다.

pod 'SwiftCharts'

수동으로 다운로드하여 프로젝트에 직접 추가하는 경우, Swift Charts GitHub 페이지에서 최신 버전을 다운로드 받아 프로젝트에 추가합니다.

데이터 가져오기

패션 트렌드를 분석하기 위해 먼저 필요한 데이터를 가져와야 합니다. 이 예제에서는 API를 사용하여 패션 아이템의 인기도 데이터를 가져올 것입니다.

API를 호출하여 데이터를 가져오는 코드는 다음과 같습니다.

func fetchData(completion: @escaping ([FashionItem]) -> Void) {
    let url = URL(string: "https://api.example.com/fashion/popularity")!
    URLSession.shared.dataTask(with: url) { (data, response, error) in
        if let error = error {
            print("Error fetching data: \(error)")
            return
        }
        
        guard let data = data else {
            print("Empty data")
            return
        }
        
        do {
            let fashionItems = try JSONDecoder().decode([FashionItem].self, from: data)
            completion(fashionItems)
        } catch {
            print("Error decoding data: \(error)")
        }
    }.resume()
}

FashionItem은 패션 아이템의 이름과 인기도를 나타내는 모델입니다. 필요에 따라 모델을 수정하거나 다른 데이터를 사용할 수 있습니다.

차트 생성하기

데이터를 가져온 후에는 이를 기반으로 차트를 생성합니다. Swift Charts는 다양한 유형의 차트를 지원합니다. 이 예제에서는 막대 그래프를 사용하여 패션 트렌드를 시각화할 것입니다.

import SwiftCharts

func generateBarChart(data: [FashionItem]) -> UIView {
    var chartData: [(x: String, y: Double)] = []
    
    for item in data {
        chartData.append((x: item.name, y: item.popularity))
    }
    
    let chartConfig = BarsChartConfig(
        valsAxisConfig: ChartAxisConfig(from: 0, to: 100, by: 10),
        xAxisConfig: ChartAxisConfig(values: chartData.map { $0.x }, axisTitleLabelsToLabelsSpacing: 5),
        yAxisConfig: ChartAxisConfig(axisTitleLabel: "인기도")
    )
    
    let frame = CGRect(x: 0, y: 0, width: 300, height: 200)
    let chart = BarsChart(frame: frame, chartConfig: chartConfig, xTitleWidth: 100)
    chart.addBars(chartData)
    
    return chart.view
}

위의 코드는 데이터를 막대 그래프로 변환하는 함수입니다. 데이터를 차트에 추가하고 필요한 구성을 설정한 다음, 차트를 반환합니다.

차트 표시하기

차트를 표시하려면 해당 뷰를 화면에 추가해야 합니다. 예를 들어, UIViewController에서 다음과 같은 코드를 사용하여 차트를 추가할 수 있습니다.

class ViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        fetchData { [weak self] (data) in
            let chartView = generateBarChart(data: data)
            DispatchQueue.main.async {
                self?.view.addSubview(chartView)
            }
        }
    }
    
}

fetchData 함수를 사용하여 데이터를 가져온 후, generateBarChart 함수를 사용하여 차트를 생성하고, 메인 스레드에서 차트 뷰를 추가합니다.

결론

이제 Swift Charts를 사용하여 패션 트렌드를 분석하는 방법에 대해 알아보았습니다. Swift Charts는 간편한 사용법과 다양한 유형의 차트 지원으로 데이터를 시각화하는 데 유용한 도구입니다. 추가로 필요한 기능이 있다면 Swift Charts GitHub 페이지를 참조하여 문서와 예제를 확인해보세요.