// // MultipleLinesChartViewController.swift // ChartsDemo-iOS // // Created by Jacob Christie on 2017-07-09. // Copyright © 2017 jc. All rights reserved. // #if canImport(UIKit) import UIKit #endif import DGCharts class MultipleLinesChartViewController: DemoBaseViewController { @IBOutlet var chartView: LineChartView! @IBOutlet var sliderX: UISlider! @IBOutlet var sliderY: UISlider! @IBOutlet var sliderTextX: UITextField! @IBOutlet var sliderTextY: UITextField! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. self.title = "Multiple Lines Chart" self.options = [.toggleValues, .toggleFilled, .toggleCircles, .toggleCubic, .toggleStepped, .toggleHighlight, .animateX, .animateY, .animateXY, .saveToGallery, .togglePinchZoom, .toggleAutoScaleMinMax, .toggleData] chartView.delegate = self chartView.chartDescription.enabled = false chartView.leftAxis.enabled = false chartView.rightAxis.drawAxisLineEnabled = false chartView.xAxis.drawAxisLineEnabled = false chartView.drawBordersEnabled = false chartView.setScaleEnabled(true) let l = chartView.legend l.horizontalAlignment = .right l.verticalAlignment = .top l.orientation = .vertical l.drawInside = false // chartView.legend = l sliderX.value = 20 sliderY.value = 100 slidersValueChanged(nil) } override func updateChartData() { if self.shouldHideData { chartView.data = nil return } self.setDataCount(Int(sliderX.value), range: UInt32(sliderY.value)) } // TODO: Refine data creation func setDataCount(_ count: Int, range: UInt32) { let colors = ChartColorTemplates.vordiplom()[0...2] let block: (Int) -> ChartDataEntry = { (i) -> ChartDataEntry in let val = Double(arc4random_uniform(range) + 3) return ChartDataEntry(x: Double(i), y: val) } let dataSets = (0..<3).map { i -> LineChartDataSet in let yVals = (0..