2017-01-10 126 views
2

我正在使用ios chart在Swift 3中實現線圖。就像在Swift的早期版本中一樣,我們有構造函數將x值綁定到折線圖,但在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 -track-on-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) 
    } 
}