2017-01-10 3 views
2

Swift 3에서 선형 그래프를 구현하려면 ios chart을 사용하고 있습니다. 이전 버전의 Swift에서와 같이 x 값을 Line 그래프에 바인딩하는 생성자가 있었지만 Swift 3에서는 그렇게 보이지 않았습니다.ios 차트를 사용하는 선 그래프 swift 3

누군가 입력 사항이있는 경우 도움을주십시오.

답변

3

모든 데이터 집합 생성자가 변경 Release Notes

  • 에서 마이그레이션 노트를 읽고 걱정하십시오 - 그들은 더 이상 X-인덱스의 배열을하지 않습니다.
  • 모든 항목 생성자가 변경되었습니다 - 그들은는 X와 Y를 기본적으로

에 걸릴는 x 값은 이제 항목에서 가져옵니다.

x 축에 표시되는 값을 변경하려면 xAxis.axisMinimumxAxis.axisMaximum을 변경하고 xAxis.valueFormatter을 사용하여 서식을 지정할 수 있습니다.

5

XAxis 값을 받으려면이 방법을 사용해보십시오.

import UIKit 
import Charts 

class LineChartViewController : UIViewController { 
    @IBOutlet weak var lineChartView: LineChartView! 
    override func viewDidLoad() { 
     super.viewDidLoad() 

     let populationData :[Int : Double] = [ 
      1990 : 123456.0, 
      2000 : 233456.0, 
      2010 : 343456.0 
     ] 

     let ySeries = populationData.map { x, y in 
      return ChartDataEntry(x: Double(x), y: y) 
     } 

     let data = LineChartData() 
     let dataset = LineChartDataSet(values: ySeries, label: "Hello") 
     dataset.colors = [NSUIColor.red] 
     data.addDataSet(dataset) 

     self.lineChartView.data = data 

     self.lineChartView.gridBackgroundColor = NSUIColor.white 
     self.lineChartView.xAxis.drawGridLinesEnabled = false; 
     self.lineChartView.xAxis.labelPosition = XAxis.LabelPosition.bottom 
     self.lineChartView.chartDescription?.text = "LineChartView Example" 
    } 

    override open func viewWillAppear(_ animated: Bool) { 
     self.lineChartView.animate(xAxisDuration: 1.0, yAxisDuration: 1.0) 
    } 
} 

감사 스리 람

+0

http://stackoverflow.com/questions/41979926/how-to-achieve -trackball-on-charts-in-swift-3x 나도 도와 줘? –

+0

@ShriRam, 데이터 집합 색상을 설정하는 방법? line = "dataset.colors = [NSUIColor.red]"는 영향을 미치지 않기 때문에 –

1

스위프트 3 : 막대 그래프와

예 :

import UIKit 
import Charts 

class StatistiqueSafetyCheckViewController: UIViewController { 

    @IBOutlet weak var lineChartView: LineChartView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     let ys1 = Array(1..<10).map { x in return sin(Double(x)/2.0/3.141 * 1.5) } 
     let ys2 = Array(1..<10).map { x in return cos(Double(x)/2.0/3.141) } 

     let yse1 = ys1.enumerated().map { x, y in return LineChartDataEntry(x: Double(x), y: y) } 
     let yse2 = ys2.enumerated().map { x, y in return LineChartDataEntry(x: Double(x), y: y) } 

     let data = LineChartData() 
     let ds1 = LineChartDataSet(values: yse1, label: "Hello") 
     ds1.colors = [NSUIColor.red] 
     data.addDataSet(ds1) 

     let ds2 = LineChartDataSet(values: yse2, label: "World") 
     ds2.colors = [NSUIColor.blue] 
     data.addDataSet(ds2) 

     self.lineChartView.data = data 
     self.lineChartView.gridBackgroundColor = NSUIColor.white 
     self.lineChartView.chartDescription?.text = "Linechart Demo" 
    } 

    override open func viewWillAppear(_ animated: Bool) { 
     self.lineChartView.animate(xAxisDuration: 1.0, yAxisDuration: 1.0) 
    } 
}