2

I'm having trouble appending the date to my SciChart line chart. I'm getting this error at runtime.

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Axis does not support type.'

I'm following along with the supplied examples, here is my code to append my data to the axis.

var sciChartSurface: SCIChartSurface?

var lineDataSeries: SCIXyDataSeries!

var lineRenderableSeries: SCIFastLineRenderableSeries!

func createDataSeries(){

    lineDataSeries = SCIXyDataSeries(xType: .dateTime, yType: .double)

    lineDataSeries.acceptUnsortedData = true

    let items = self.dataFeed.priceHistory

    let dateFormatter = DateFormatter()

    dateFormatter.dateFormat = "yyyy-MM-dd"

    for i in 0..<(items.count) - 1 {

        let date:Date = dateFormatter.date(from: items[i].date!)!
        print("\(date) \(items[i].close!)")
        lineDataSeries.appendX(SCIGeneric(date), y: SCIGeneric(Double(items[i].close!)))
    }
}

this is what my output from the print statement

2017-08-09 07:00:00 +0000 2474.02
2017-08-08 07:00:00 +0000 2474.92
2017-08-07 07:00:00 +0000 2480.91
2017-08-04 07:00:00 +0000 2476.83
2017-08-03 07:00:00 +0000 2472.16
2017-08-02 07:00:00 +0000 2477.57

Any idea what I'm doing wrong? Glad to include the entire ViewController if needed.

Westsider
  • 145
  • 12

1 Answers1

2

the error was in how I set up the axix and it must be set up as a datetimeaxis....

func setUpUI() {
    // Create a SCIChartSurface. This is a UIView so can be added directly to the UI
    sciChartSurface = SCIChartSurface(frame: self.view.bounds)
    sciChartSurface?.translatesAutoresizingMaskIntoConstraints = true

    // Add the SCIChartSurface as a subview
    self.view.addSubview(sciChartSurface!)

    // Create an XAxis and YAxis. This step is mandatory before creating series
    sciChartSurface?.xAxes.add(SCIDateTimeAxis())
    sciChartSurface?.yAxes.add(SCINumericAxis())
}
Westsider
  • 145
  • 12