2017-01-10 1 views
2

Я использую ios chart для выполнения линейного графика в Swift 3. Как и в более ранних версиях Swift, у нас был конструктор для привязки значений x к линейному графу, но в Swift 3 такого не существует?Линейный график с использованием диаграмм ios swift 3

Просьба помочь, если у кого есть какие-либо входы.

ответ

3

Пожалуйста заботятся читать ноты миграции в Release Notes

  • Все набор данных конструкторов изменили - они не принимают массив рентгеновских индексов больше.
  • Всех конструкторов входа изменились - они берут в X и Y.

В принципе, значения х теперь берутся из записей.

Если вы хотите изменить, какие значения отображаются на оси x, вы можете изменить xAxis.axisMinimum и xAxis.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, как установить цвет набора данных? потому что строка = "dataset.colors = [NSUIColor.red]" не влияет –

1

Swift 3:

Пример с BarChart:

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) 
    } 
}