LoginSignup
3
2

【分かりやすく解説】iOSのライブラリのChartsのコード

Posted at
一個一個コードをスクショ付きで解説していきます。
一番下にコードも貼っておきます。

『.rightAxis.enabled = true』と書くと

グラフの右側に数字が表示されます。

『.rightAxis.enabled = false』と書くと

グラフの右側に数字が表示されません。

『.labelPosition = .insideChart』と書くと

グラフの内側に数字が表示されます。

『.labelPosition = .outsideChart』と書くと

グラフの外側に数字が表示されます。

『.labelPosition = .top』と書くと

x軸(横の軸)の数字がグラフの上に表示されます。

『.labelPosition = .topInSide』と書くと

x軸(横の軸)の数字がグラフの上かつ内側に表示されます。

『.labelPosition = .bottom』と書くと

x軸(横の軸)の数字がグラフの下に表示されます。

『.labelPosition = .bottomInSide』と書くと

x軸(横の軸)の数字がグラフの下かつ内側に表示されます。

『.centerInSuperview()』と書かないと

デフォルトではどうやらグラフが上に表示されるようです。

『.centerInSuperview()』と書くと

グラフが真ん中に表示されるようになります。

『.mode = .cubicBezier』と書かないと

グラフの線が直線で表示されます。

『.mode = .cubicBezier』と書くと

グラフの線が曲線で表示されます。

『.drawCirclesEnabled = true』と書くと

グラフの上に丸が表示されるようになります。

『.drawCirclesEnabled = false』と書くと

グラフの上に丸が表示されなくなります。

『.drawFilledEnabled = false』と書くと

普通のグラフの線を表示します。

『.drawFilledEnabled = true』と書くと

グラフの線の下の面積も表示します。

『.drawHorizontalHighlightIndicatorEnabled = true』と書くと

グラフをタップした時に横線が表示されるようになります。

『.drawHorizontalHighlightIndicatorEnabled = false』と書くと

グラフをタップした時に横線が表示されなくなります。

『set1.drawVerticalHighlightIndicatorEnabled = true』と書くと

グラフをタップした時に縦線が表示されるようになくなります。

『set1.drawVerticalHighlightIndicatorEnabled = false』と書くと

グラフをタップした時に縦線が表示されなくなります。

『.animate(xAxisDuration: 数字)』と書くと

グラフにアニメーションが付きます。数字でアニメーションの速度を調整することができます。

【「ViewController」のコード】

import UIKit
import DGCharts
import TinyConstraints

class ViewController: UIViewController,ChartViewDelegate {
    
    lazy var lineChartView: LineChartView = {
        let chartView = LineChartView()
        
        chartView.backgroundColor = .systemBlue
        // chartView.rightAxis.enabled = true
        chartView.rightAxis.enabled = false
        
        let yAxis = chartView.leftAxis
        yAxis.labelFont = .boldSystemFont(ofSize: 12)
        yAxis.setLabelCount(6, force: false)
        yAxis.labelTextColor = .white
        yAxis.axisLineColor = .white
        // 「.insideChart」もあれば「.outsideChart」もある。
        yAxis.labelPosition = .outsideChart
        // 「.bottom」もあれば「bothSided」「bottomInSide」「top」「topInSide」もある。
        chartView.xAxis.labelPosition = .bottom
        chartView.xAxis.labelFont = .boldSystemFont(ofSize: 12)
        chartView.xAxis.setLabelCount(6, force: false)
        chartView.xAxis.labelTextColor = .white
        chartView.xAxis.axisLineColor = .systemBlue
        
        chartView.animate(xAxisDuration: 2.5)
        
        return chartView
    }()

    override func viewDidLoad() {
        super.viewDidLoad()
        
        view.addSubview(lineChartView)
        lineChartView.centerInSuperview()
        lineChartView.width(to: view)
        lineChartView.heightToWidth(of: view)
        setData()
    }
    
    func chartValueSelected(_ chartView: ChartViewBase, entry: ChartDataEntry, highlight: Highlight) {
        print(entry)
    }
    func setData() {
        let set1 = LineChartDataSet(entries: yValues, label: "Subscribers")
        set1.mode = .cubicBezier
        // set1.drawCirclesEnabled = true
        set1.drawCirclesEnabled = false
        set1.lineWidth = 3
        set1.setColor(.white)
        set1.fillAlpha = 0.8
        // set1.drawFilledEnabled = false
        set1.drawFilledEnabled = true
        
        // 【横線】
        // set1.drawHorizontalHighlightIndicatorEnabled = true
        set1.drawHorizontalHighlightIndicatorEnabled = false
        
        // 【縦線】
        // set1.drawVerticalHighlightIndicatorEnabled = true
        set1.drawVerticalHighlightIndicatorEnabled = false
        
        set1.highlightColor = .systemRed
        
        let data = LineChartData(dataSet: set1)
        // data.setDrawValues(true)
        data.setDrawValues(false)
        
        lineChartView.data = data
    }
    
    let yValues: [ChartDataEntry] = [
        ChartDataEntry(x: 0.0, y: 10.0),
        ChartDataEntry(x: 1.0, y: 5.0),
        ChartDataEntry(x: 2.0, y: 7.0),
        ChartDataEntry(x: 3.0, y: 5.0),
    ]

}

※ 学習していく過程で理解できた内容が増え次第追記していきます。

参考動画

Chart in Swift - Setting Up a Basic Line Chart Using iOS Charts
https://www.youtube.com/watch?v=mWhwe_tLNE8&t=2s

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2