Swift・iOS

Swiftを中心に学んだことを記録に残すブログです。技術に関係ない記事もたまに書いています。

【Swift】円グラフを描画する(Charts)

■開発環境

Xcode 10.1

・Swift 4.2.1

 

■サンプルのイメージ

f:id:hfoasi8fje3:20190304211259p:plain

 

■手順

1.Chartsをインストール

pod 'Charts'

 

2.StoryboardでViewを配置し、Custom Classに「PieChartView」を指定

f:id:hfoasi8fje3:20190304212353p:plain


3.StoryboardのPieChartViewをViewControllerに関連づける&以下実装

・ViewController.swift

import UIKit
import Charts

class ViewController: UIViewController {

    @IBOutlet weak var pieChartsView: PieChartView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // 円グラフの中心に表示するタイトル
        self.pieChartsView.centerText = "テストデータ"
        
        // グラフに表示するデータのタイトルと値
        let dataEntries = [
            PieChartDataEntry(value: 40, label: "A"),
            PieChartDataEntry(value: 35, label: "B"),
            PieChartDataEntry(value: 25, label: "C")
        ]
        
        let dataSet = PieChartDataSet(values: dataEntries, label: "テストデータ")
// グラフの色 dataSet.colors = ChartColorTemplates.vordiplom() // グラフのデータの値の色 dataSet.valueTextColor = UIColor.black // グラフのデータのタイトルの色 dataSet.entryLabelColor = UIColor.black
self.pieChartsView.data = PieChartData(dataSet: dataSet) // データを%表示にする let formatter = NumberFormatter() formatter.numberStyle = .percent formatter.maximumFractionDigits = 2 formatter.multiplier = 1.0 self.pieChartsView.data?.setValueFormatter(DefaultValueFormatter(formatter: formatter)) self.pieChartsView.usePercentValuesEnabled = true view.addSubview(self.pieChartsView) } }

 

■関連リンク

GitHub - danielgindi/Charts: Beautiful charts for iOS/tvOS/OSX! The Apple side of the crossplatform MPAndroidChart.

[Swift] [OSS] ios-chartsで簡単チャート表示 | DevelopersIO

swift - How to add "%" to data in ios-chart - Stack Overflow