2017-01-10 29 views
2

Swift 3で折れ線グラフを実装するにはios chartを使用しています。 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 -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) 
    } 
} 
関連する問題