[Swift] [iOS] 차트 표시 라이브러리 [ios-charts]

목적



swift에서의 ios 개발시에 그래프나 차트의 표시에 굉장히 사용할 수 있는 라이브러리, ios-charts의 사용법을 메모해 두려고 생각합니다.

ios-charts란?



Daniel Cohen Gindi 작성 차트, 그래프 표시를 간단하게 하는 라이브러리.
  • Github: danielgindi/ios-charts
  • 데모: ios-charts/ChartsDemo/

  • 설치



    CocoaPods 사용.
    Podfile에 다음을 작성
    platform :ios, '9.0'
    pod 'Charts'
    use_frameworks!
    

    할 수 있는 일



    그래프, 차트 보기



    Line Chart (선 그래프)




      

    Bar Chart (바 그래프)




      

    Horizontal Bar Chart (가로 막대형 차트)




      

    Combined Chart(콤비네이션 그래프)




      

    Pie Chart (원형 차트)




      

    Scatter Bar Chart (산포도)




      

    Bubble Chart (버블 차트)




      

    Stacked Bar Chart (스택 막대 그래프)




      

    Stacked Bar negative Chart (쌓은 가로 막대 그래프, 인구 피라미드 그래프)




      

    Multiple Line Chart(여러 개의 꺾은선형 차트)




      

    Multiple Bar Chart (여러 막대 그래프)




      

    Candle Stick Chart (로속 발 차트)




      

    큐빅 라인 차트




      

    Radar Bar Chart (레이더 차트)




      

    Sinus Bar Chart




      

    사용 예



    완성도





    코드



    storyboard에 View를 배치합니다.
    View의 Custom Class에 BarChartView를 지정하고 코드에 IBOutlet로 연결.
    @IBOutlet var barChartView: BarChartView!
    

    최종적으로는 이하와 같이 기술.
    import UIKit
    import Charts
    
    class ViewController: UIViewController {
    
        // storyboardから接続
        @IBOutlet weak var barChartView: BarChartView!
    
        var months: [String]!
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            months = ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]
            let unitsSold = [50.3, 68.3, 113.3, 115.7, 160.8, 214.0, 220.4, 132.1, 176.2, 120.9, 71.3, 48.0]
    
            barChartView.animate(yAxisDuration: 2.0)
            barChartView.pinchZoomEnabled = false
            barChartView.drawBarShadowEnabled = false
            barChartView.drawBordersEnabled = true
            barChartView.descriptionText = "京都府の月毎の降水量グラフ"
    
            setChart(months, values: unitsSold)
        }
    
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
        }
    
        func setChart(dataPoints: [String], values: [Double]) {
            barChartView.noDataText = "You need to provide data for the chart."
    
            var dataEntries: [BarChartDataEntry] = []
    
            for i in 0..<dataPoints.count {
                let dataEntry = BarChartDataEntry(value: values[i], xIndex: i)
                dataEntries.append(dataEntry)
            }
    
            let chartDataSet = BarChartDataSet(yVals: dataEntries, label: "降水量")
            let chartData = BarChartData(xVals: months, dataSet: chartDataSet)
            barChartView.data = chartData  
        }
    
    }
    

    상세한 사용 예



    [Swift] [iOS] 차트 표시 라이브러리 [ios-charts] 자세한 사용법 (메소드, 속성)

    좋은 웹페이지 즐겨찾기