Reputation: 167
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.
Upvotes: 2
Views: 296
Reputation: 167
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())
}
Upvotes: 2