Using Following Code to Construct Sync Multiple Graphs
let _rangeSync = SCIAxisRangeSynchronization()
let _zoomExtentsModifierSync = SCIMultiSurfaceModifier(modifierType: SCIZoomExtentsModifier.self)
let _pinchZoomModifierSync = SCIMultiSurfaceModifier(modifierType: SCIPinchZoomModifier.self)
let _xDragModifierSync = SCIMultiSurfaceModifier(modifierType: SCIXAxisDragModifier.self)
let _yDragModifierSync = SCIMultiSurfaceModifier(modifierType: SCIYAxisDragModifier.self)
let _rolloverModifierSync = SCIMultiSurfaceModifier(modifierType: SCIRolloverModifier.self)
func getGraphs() -> [(String,CustomClassThatHoldsData)] {
let keys = Array(historicChats!.data!.keys)
var arrayOfTuples = [(String,CustomClassThatHoldsData)]()
//
for key in keys {
arrayOfTuples.append((key, (self.historicChats?.data![key])!))
}
return arrayOfTuples
}
func drawMultichartWithDefault() {
for data in arrayOfGraphs {
let chart = SCIChartSurface(frame: CGRect(x: 0, y: 0, width: self.stkCharts.frame.width-50, height: 200))
initChart(chart, data.1)
self.stkCharts.addArrangedSubview(chart)
}
}
fileprivate func initChart(_ chart: SCIChartSurface, _ data: VitalHistoryData) {
SCIUpdateSuspender.usingWithSuspendable(chart) {
let xAxis = SCIDateTimeAxis()
xAxis.growBy = SCIDoubleRange(min: SCIGeneric(0.1), max: SCIGeneric(0.1))
let yAxis = SCINumericAxis()
yAxis.growBy = SCIDoubleRange(min: SCIGeneric(0.1), max: SCIGeneric(0.1))
let dataSeries = SCIXyDataSeries(xType: .dateTime, yType: .double)
let dataArray = data.getDataArray()
for tuple in dataArray {
dataSeries.appendX(SCIGeneric(tuple.1), y: SCIGeneric((tuple.0)))
}
let rSeries = SCIFastLineRenderableSeries()
rSeries.dataSeries = dataSeries
rSeries.strokeStyle = SCISolidPenStyle(color: UIColor.green, withThickness: 1.0)
chart.xAxes.add(xAxis)
chart.yAxes.add(yAxis)
chart.renderableSeries.add(rSeries)
chart.chartModifiers = SCIChartModifierCollection(childModifiers: [self._xDragModifierSync, self._yDragModifierSync, self._pinchZoomModifierSync, self._zoomExtentsModifierSync, self._rolloverModifierSync])
self._rangeSync.attachAxis(xAxis)
}
}
On 2 graphs it works quite fine but with the more then 2 graphs it starts lagging
- Atiq Tahir asked 5 years ago
- You must login to post comments
Hi Atiq,
Just an update for you. We’ve greatly improved performance in SciChart iOS v3 which is available ini BETA now.
You can get 3.x beta via the CocoaPods, as described here – https://www.scichart.com/documentation/ios/current/integrating-scichart-libraries.html#integrating-scichart-using-cocoapods.
Let us know, if you need any help with it if you decided to try it out.
Best Regards,
Nazar R.
SciChart Developer
- Nazar Rudnyk answered 4 years ago
- You must login to post comments
Please login first to submit.