[swift] - Swift Charts로 제품 결함률 분석하기

안녕하세요! 오늘은 Swift Charts를 사용하여 제품의 결함률을 분석하는 방법에 대해 알아보겠습니다. 제품 결함률은 제품의 품질을 평가하는 중요한 지표 중 하나이며, 개발자들은 이를 분석하여 제품의 품질 개선에 도움을 줄 수 있습니다.

Swift Charts란?

Swift Charts는 Swift 언어로 개발된 오픈 소스 그래프 라이브러리로, 다양한 종류의 그래프를 쉽게 생성하고 시각화할 수 있습니다. 제품 결함률을 분석하기 위해서는 히스토그램 또는 파이 차트와 같은 그래프 유형이 사용될 수 있으며, Swift Charts를 사용하면 간단한 코드로 그래프를 생성할 수 있습니다.

제품 결함률 데이터 가져오기

먼저, 제품 결함률 데이터를 가져와야 합니다. 이 데이터는 보통 데이터베이스나 CSV 파일과 같은 외부 소스에서 가져올 수 있습니다. 예를 들어, CSV 파일에서 데이터를 가져오는 경우 다음과 같은 코드를 사용할 수 있습니다.

import Foundation

func loadCSVData() -> [[String: Any]] {
    var data: [[String: Any]] = []

    if let filepath = Bundle.main.path(forResource: "defect_rates", ofType: "csv") {
        do {
            let contents = try String(contentsOfFile: filepath)
            let lines = contents.components(separatedBy: .newlines)
            let keys = lines[0].components(separatedBy: ",")
            
            for i in 1..<lines.count {
                let values = lines[i].components(separatedBy: ",")
                var dict: [String: Any] = [:]
                for j in 0..<keys.count {
                    dict[keys[j]] = values[j]
                }
                data.append(dict)
            }
        } catch {
            print("Error reading file: \(error)")
        }
    }

    return data
}

// 사용 예시
let defectRates = loadCSVData()

이 코드는 defect_rates.csv 파일에서 데이터를 읽어와서 2차원 딕셔너리 배열 형태로 반환합니다.

그래프 생성하기

이제 defectRates 배열을 사용하여 그래프를 생성해보겠습니다. 여기서는 히스토그램을 사용하여 결함률의 분포를 시각화하겠습니다.

import UIKit
import Charts

func createHistogramChart(data: [[String: Any]]) -> BarChartView {
    let chartView = BarChartView(frame: CGRect(x: 0, y: 0, width: 320, height: 320))
    
    var defects: [String] = []
    var rates: [Double] = []
    
    for entry in data {
        if let defect = entry["defect"] as? String,
           let rate = entry["rate"] as? Double {
            defects.append(defect)
            rates.append(rate)
        }
    }
    
    var dataEntries: [BarChartDataEntry] = []
    for i in 0..<defects.count {
        let dataEntry = BarChartDataEntry(x: Double(i), y: rates[i])
        dataEntries.append(dataEntry)
    }
    
    let chartDataSet = BarChartDataSet(entries: dataEntries, label: "Defect Rates")
    let chartData = BarChartData(dataSet: chartDataSet)
    
    chartView.data = chartData
    chartView.xAxis.valueFormatter = IndexAxisValueFormatter(values: defects)
    chartView.xAxis.granularity = 1
    
    return chartView
}

// 사용 예시
let histogramChartView = createHistogramChart(data: defectRates)

이 코드는 defectRates 배열에서 결함명과 결함률 정보를 추출하여 히스토그램 그래프를 생성합니다. 생성된 그래프는 histogramChartView 객체로 반환되며, 이를 적절한 화면에 표시할 수 있습니다.

결론

Swift Charts를 사용하여 제품 결함률을 분석하는 방법에 대해 알아보았습니다. Swift Charts는 다양한 그래프 유형을 지원하며, 쉬운 사용법으로 데이터 시각화를 가능하게 해줍니다. 제품의 결함률을 분석하여 품질 개선에 활용해보세요!

더 자세한 정보를 원한다면, Swift Charts 공식 GitHub 페이지를 참고해보세요.

참고 자료: