There are no simple macOS tutorial projects, so I transplant ios “Tutorial 01 Create Simple 2D Chart” to macOS one. (Attached file.)
Build and Run successfully. But no appear the coded chart. It seems that only SCIChartSurface is being displayed. (without axis and line series)
I enabled SciChart Console Debugging and got like this.
2021-09-17 20:48:06.077950+0900 StoryboardTest[75014:920684] [INFO] - [SCIAxisBase] isSuspended = YES. Ignoring `invalidateElement:` call
2021-09-17 20:48:06.078006+0900 StoryboardTest[75014:920684] [INFO] - [SciChartSurfaceBase] IsSuspended=YES. Ignoring `invalidateElement:` call
Why doesn’t the chart show up? Would you mind giving me some advice?
P.S.
It seems that the file was not attached properly.
Please download the file from here.
https://drive.google.com/file/d/1YfJIf0G14QOxA0fzmEQXyAEbPrfMx4CU/view?usp=sharing
- Kota Kobayashi asked 3 years ago
- last active 3 years ago
Hello,
I was overriding the performZoom(at mousePoint: CGPoint, xValue: Double, yValue: Double) method of SCIPinchZoomModifier but it is not accessible anymore.
My Code:
import Foundation
import SciChart
public class FixedToCenterPinchZoomModifier : SCIPinchZoomModifier {
override func performZoom(at mousePoint: CGPoint, xValue: Double, yValue: Double) {
let middle = CGPoint(x: parentSurface?.frame.midX ?? 0,
y: parentSurface?.frame.midY ?? 0)
super.performZoom(at: middle, xValue: xValue, yValue: yValue)
}
}
I get the error: Method does not override any method from its superclass
Is there a way to access the protected method?
- Brian Mairhörmann asked 3 years ago
- last active 3 years ago
When i try to add SCITextAnnotation and text color is white, a gray outline appears around the symbol (triangle).
How can I turn it off or change the color?
- Sergey Evdokimov asked 3 years ago
- last active 2 months ago
I am using sci charts to show live graphs of some devices. While displaying a graph on IPhone X or iPhone 6s it sometimes lags and lines started overlapping. It’s working fine on devices iPhone XSMax, iPhone 11. I have attached a 3 screenshots. Once when graph starts lagging, 2nd when graph is in middle, 3 when graph completes. please have a look. It starts lagging and overlapping lines when a new graph starts and when it ends it shows a complete graph shown and then again same issue repeats. It also started working correctly after some time. I need information about this issue. How to fix it and why it’s happening like this…
- Muhammad Bilal asked 3 years ago
- last active 3 years ago
When i try to run the simple Example from the Documentation ( with my trial License Key ) :
class AppDelegate: NSResponder, NSApplicationDelegate {
override init(){
// Set this code once in AppDelegate or application startup
SCIChartSurface.setRuntimeLicenseKey(“XXXXXX”);
super.init()
}
i receive this error and the application builds but fails to start :
libc++abi: terminating with uncaught exception of type NSException
*** Terminating app due to uncaught exception ‘License Exception’, reason: ”
terminating with uncaught exception of type NSException
- nadim massih asked 3 years ago
- last active 3 years ago
Just trying to run the demo using these instructions: https://github.com/abtsoftware/scichart.ios.examples.
It doesn’t work I’m getting “Failed to emit precompiled header” and “SciChart/SciChart.h file not found”
- sahil reddy asked 3 years ago
- last active 3 years ago
Hi everyone!
I have a candlestick chart that uses SCIZoomPanModifier() so i can zoom and pan in the chart. I added a SCITooltipModifier() so i can inspect the individual data points. I noticed that by adding the toolTipModifier, that my pan and zoom stops working. I can’t figure out why. Would really appreciate if someone could tell me why or if i am missing some variable i need to set
- daniel jrifat asked 3 years ago
- last active 3 years ago
Hi guys,
I just started using SCICHART. I am working my way through the provided tutorials and i noticed that when i add a SCITooltipModifier to the chart, all my other modifiers (zoom and pan and pinchzoom) stopped working. Is this normal? Because i want my chart to have zoom functions and show what datapoints are touched by a user.
Thanks in advance!
- daniel jrifat asked 3 years ago
- last active 3 years ago
Hi all,
I am using the iOS SciCharts version to implement a heatmap series in my application. I am testing out the heatmap by providing a test series of random 100 zValues that range from 1-200. The Heatmap with the stops below just appears blue (see image). My suspicion is that either I am not updating the zValues correctly or the andStops is too low. Can anyone provide insights on what could be the issue?
//Test zValues
let SpectTestArray: [Double] = [ 12, 14, 68, 137, 164, 124, 124, 122, 162, 128, 45, 129, 40, 91, 53, 159, 77, 59, 0, 91, 92, 73, 77, 67, 163, 69, 149, 115, 17, 85, 119, 129, 186, 93, 80, 34, 159, 115, 65, 181, 159, 67, 152, 29, 6, 162, 51, 196, 186, 122, 114, 171, 159, 116, 20, 102, 4, 174, 144, 160, 89, 51, 89, 130, 172, 186, 40, 174, 20, 120, 88, 151, 127, 167, 10, 49, 198, 67, 184, 197, 152, 193, 196, 163, 18, 77, 17, 143, 124, 115, 1, 115, 126, 22, 35, 6, 58, 121, 77, 5]
let colors = [UIColor.fromARGBColorCode(0xFF00008B)!, UIColor.fromARGBColorCode(0xFF6495ED)!, UIColor.fromARGBColorCode(0xFF006400)!, UIColor.fromARGBColorCode(0xFF7FFF00)!, UIColor.yellow, UIColor.red]
CH1HeatMapRenderableSeries = SCIFastUniformHeatmapRenderableSeries()
CH1HeatMapRenderableSeries.dataSeries = CH1SpectDataSeries
CH1HeatMapRenderableSeries.minimum = 0.0
CH1HeatMapRenderableSeries.maximum = 200.0
CH1HeatMapRenderableSeries.colorMap = SCIColorMap(colors: colors, andStops: [0.0, 0.2, 0.4, 0.6, 0.8, 1.0])
spectchartsurface?.renderableSeries.add(CH1HeatMapRenderableSeries)
var Spectvalues = SCIDoubleValues(capacity: 100)
for n in 0...SpectTestArray.count-1 {
Spectvalues.add(SpectTestArray[n])
}
// print(Spectvalues)
CH1SpectDataSeries.update(z: Spectvalues)
- Ayushi Patel asked 3 years ago
- last active 3 years ago
SplineLineRenderableSeries doesn’t render curved graph line properly in Swift , it renders stepped line for the data series .For reference please check the Screenshot attached ,ECG line(Green) rendered as stepped line (Marked by rectangle). Let me know anything I need to update in my code
Please find below the code for initialisation go the graph and updating the graph same. I am updating graph realtime with same DataSeries.
-
Graph initialisation code
func init_ECG_Chart()
{
//Remove Theme From Chart By Apply & Remove & Change Border color
SCIThemeManager.applyTheme(to: self.ecg_Chart_Surface, withThemeKey: SCIChart_Bright_SparkStyleKey)
SCIThemeManager.removeTheme(byThemeKey: SCIChart_Bright_SparkStyleKey)self.ecg_Chart_Surface.isOpaque = false self.ecg_Chart_Surface.backgroundColor = .clear self.ecg_Chart_Surface.renderableSeriesAreaBorderStyle = SCISolidPenStyle(color: .clear, thickness: 0) //Line let lineSeries = SCISplineLineRenderableSeries() lineSeries.strokeStyle = SCISolidPenStyle(color: ecgSelectedColor, thickness: 2.0) lineSeries.dataSeries = ecgLineDataSeries
// lineSeries.resamplingMode = SCIResamplingMode_None //Resampling off
// lineSeries.resamplingMode = SCIResamplingMode_Auto //Resampling offlet xAxis = SCINumericAxis() xAxis.axisAlignment = .bottom xAxis.drawLabels = false xAxis.drawMajorGridLines = false xAxis.drawMinorGridLines = false xAxis.drawMajorTicks = false xAxis.drawMinorTicks = false let yAxis = SCINumericAxis() yAxis.axisAlignment = .left yAxis.drawLabels = false yAxis.drawMajorGridLines = false yAxis.drawMinorGridLines = false yAxis.drawMajorTicks = false yAxis.drawMinorTicks = false yAxis.autoRange = .never //Stop auto ranging axis yAxis.visibleRange = SCIDoubleRange(min: -32, max: 96)
// yAxis.visibleRangeLimit = SCIDoubleRange(min: -32, max: 96)
yAxis.growBy = SCIDoubleRange(min: 0.2, max: 0.2) SCIUpdateSuspender.usingWith(self.ecg_Chart_Surface) { self.ecg_Chart_Surface.xAxes.add(items: xAxis) self.ecg_Chart_Surface.yAxes.add(items: yAxis) self.ecg_Chart_Surface.renderableSeries.add(items: lineSeries) //self.ecg_Chart_Surface.chartModifiers.add(items: SCIZoomExtentsModifier(),SCIPinchZoomModifier()) }
} //Init ECG
-
Graph updation code
func update_ECG_Chart(xValues:SCIDoubleValues,yValues:SCIDoubleValues)
{SCIUpdateSuspender.usingWith(self.ecg_Chart_Surface) { self.ecgLineDataSeries.append(x: xValues, y: yValues) // self.ecg_Chart_Surface.zoomExtents() self.ecg_Chart_Surface.zoomExtentsX() }
} //Update ECG
- djkaran nasa asked 3 years ago
- last active 3 years ago
We’re using Xamarin.Forms. We were using iOS build 5019 and Android build 4441 and we had a custom DatelabelProvider set on our X axis in both platforms which worked fine.
However after updating to latest builds (5022 and 4459), the provider’s FormatLabel (FormatLabelFormatted on Android) isn’t being called and the default label formatting is applied.
- Russell Hind asked 3 years ago
- last active 3 years ago
After seeing some strange behavior in my application, I have a simple repro case where hiding a renderable series that’s in a vertically stacked columns collection causes the entire screen to go black. I’ll attach a full viewDidLoad() below, but here’s the basic setup:
let rsLeftSingle = SCIStackedColumnRenderableSeries()
rsLeftSingle.dataSeries = dataSeriesLeftSingle
rsLeftSingle.yAxisId = yAxisLeft.axisId
rsLeftSingle.fillBrushStyle = SCISolidBrushStyle(color: UIColor.yellow)
rsLeftSingle.strokeStyle = SCISolidPenStyle(color: UIColor.yellow, thickness: 2.0)
let rsLeftDouble = SCIStackedColumnRenderableSeries()
rsLeftDouble.dataSeries = dataSeriesLeftDouble
rsLeftDouble.yAxisId = yAxisLeft.axisId
rsLeftDouble.fillBrushStyle = SCISolidBrushStyle(color: UIColor.blue)
rsLeftDouble.strokeStyle = SCISolidPenStyle(color: UIColor.blue, thickness: 2.0)
let stacks = SCIVerticallyStackedColumnsCollection()
stacks.add(rsLeftSingle)
stacks.add(rsLeftDouble)
surface.renderableSeries.add(stacks)
let legendModifier = SCILegendModifier()
surface.chartModifiers.add(legendModifier)
That code displays a stack of yellow and blue bars, with a legend and checkboxes (both checkboxes selected). When I tap a checkbox to deselect it, the SCIChartSurface() goes blank, the legend remains on screen, and I see this message in the console:
Exception raised with reason: All stacked series in on collection should have the same amount of X Values
When I reselect that checkbox, I get my plot back.
There are no changes being made to the underlying data. Hiding/showing works correctly for horizontally stacked collection and for other renderable series types.
What’s your recommended workaround?
- Hal Mueller asked 3 years ago
- last active 3 years ago
I have a question about an apparent regression/change from v2 to v4.
My chart uses an SCIHorizontallyStackedColumnsCollection with three SCIStackedColumnRenderableSeries instances. One of those is assigned to the right-hand Y axis, and the other two are assigned to the left-hand Y axis. Left and right Y axes have very different ranges.
In v2, each series in the group honored its assigned axis. In v4, each series is using the scale of the left-hand Y axis. This happens regardless of the order I add the renderable series to the columns collection.
In the example below, the magenta, blue, and yellow bars have a range of -2 to 2, and are assigned to the left-hand axis. The green bars have a range of 0 to 30 and are assigned to the right-hand axis. I expect all 4 bars to be displayed using the full vertical range of the chart, but instead everything is using the left-hand axis, and the non-green bars have very little displacement.
This is a change in behavior from v2 to v4. Is it intentional? Is there an easy workaround?
I tried to hack around it by having two different SCIStackedColumnRenderableSeries instances, one with 3 placeholder series/1 real series (RH axis) and the other with 1 placeholder/3 real series (LH axis). That doesn’t help. If there are two different column collections on the chart, they both use the left-hand axis, regardless of the order that they are added.
Minimal repro case is attached. But the crux is at the end. If I comment out the .add(rightStacks) call, I get desired behavior for the stack assigned to the left axis. If I comment out the .add(leftStacks), I get desired behavior for the stack assigned to the right axis. What I want is the chart I’d get by overlaying the second and third screenshots, but with the 0 point of left and right Y axis aligned.
let rightStacks = SCIHorizontallyStackedColumnsCollection()
rightStacks.add(rsRightPlaceholder1)
rightStacks.add(rsRightPlaceholder2)
rightStacks.add(rsRightPlaceholder3)
rightStacks.add(rsRight)
surface.renderableSeries.add(rightStacks)
let leftStacks = SCIHorizontallyStackedColumnsCollection()
leftStacks.add(rsLeftSine)
leftStacks.add(rsLeftSingle)
leftStacks.add(rsLeftDouble)
leftStacks.add(rsLeftPlaceholder)
surface.renderableSeries.add(leftStacks)
Edit
I think I’ve found the cause.
If I manually set (at line 46) yAxisLeft.axisId = “yAxisMyLeft”, then when I render, I get this in the console log:
2021-03-10 16:02:07.993233-0800 SciChart POC[86749:4815412] [WARNING] – [Render Warnings] Could not draw a renderable series of type SCIHorizontallyStackedColumnsCollection. YAxis with Id == DefaultAxisId doesn’t exist. Please ensure that the YAxisId property is set to a valid value.
2021-03-10 16:02:08.509648-0800 SciChart POC[86749:4815412] [WARNING] – [Render Warnings] Could not draw a renderable series of type SCIHorizontallyStackedColumnsCollection. YAxis with Id == DefaultAxisId doesn’t exist. Please ensure that the YAxisId property is set to a valid value.
I conclude from this behavior that SCIHorizontallyStackedColumnsCollection is hardwired to the default axis internally, regardless of the settings of the collection members.
- Hal Mueller asked 3 years ago
- last active 4 months ago
Try to integrate new SciChart.xcframework 4.2.0 instead of SciChart.framework 2.0 to the project and build failed in Xcode 12.4 with the next errors:
RNSciCandlestickChart.swift:
1) 335th line: Editor placeholder in source file
dates.add(date!))
2) 549th line: Cannot convert value of type ‘Bundle.Type’ to expected argument type ‘Bundle’ SCIThemeManager.addTheme(byThemeKey: theme, from: Bundle)
3) 768th line: Method does not override any method from its superclass
override func internalHandleGesture(_ gestureRecognizer: UIGestureRecognizer)
AnnotationDragListener.swift:
1) 4th line: Cannot find type ‘SCIAnnotationDragListener’ in scope
class AnnotationDragListener: SCIAnnotationDragListener
RNSciLineChart.swift:
1) 475th line: Editor placeholder in source file
SCIThemeManager.addTheme(byThemeKey: theme, from: Bundle)
Can you tell me please can I launch SciChart.xcframework 4.2.0 in Xcode 12.4? Any how to solve this issues?
- Alexander Kishchak asked 3 years ago
- last active 3 years ago
What’s the new (Swift) signature for V2’s updateDataContext(withContext label: SCIDefaultTickLabel!, data dataValue: SCIGenericType, style: SCITextFormattingStyle!) -> SCITickLabelProtocol!
? Obviously the SciGenericType is different.
My searches aren’t pulling up anything except hits on the V2 documentation, and all of those now 404.
I’m using that call to put gesture recognizers on some tick labels. I want those gesture recognizers to be different than the one I’m putting on the entire chart. And I need to update the locations every time theX axis changes. An alternate way to achieve this would also be welcome.
- Hal Mueller asked 3 years ago
- last active 2 years ago
In Scichart 2, we had some code that added some annotations in the SCIAnimation completion block. Here’s a snippet. We need the self.renderAnnotations()
to happen AFTER the chart data range is set, because we only draw annotations that will fit within the individual bar stack elements.
SCIUpdateSuspender.usingWithSuspendable(sciChartSurface) { if hasBarData { self.sciChartSurface?.renderableSeries.add(columnCollection) let animation = SCIWaveRenderableSeriesAnimation(duration: 1, curveAnimation: .easeOut) animation.completionHandler = { self.renderAnnotations() self.configurationButtons?.forEach { $0.isUserInteractionEnabled = true } } columnCollection.addAnimation(animation) }
Here’s the current rewrite to run under Scichart 4. With this code, yAxisLeft.visibleRange
has not been updated to the correct data range when renderAnnotations()
is called.
Uncommenting the 3 animator-related lines near the bottom doesn’t make a difference, and my listener function is never called.
I’ve also tried wrapping the renderAnnotations() call in a DispatchQueue.main.asyncAfter() call. That sometimes works, and sometimes results in renderAnnotations() not being called at all.
How do I get renderAnnotations() (and the following line looping on configurationButtons) to run, reliably, after the axis range setup is complete?
How do I get my wave animation back?
SCIUpdateSuspender.usingWith(sciChartSurface) { if hasBarData { self.sciChartSurface?.renderableSeries.add(columnCollection) self.renderAnnotations() self.configurationButtons?.forEach { $0.isUserInteractionEnabled = true } // let animator = SCIAnimations.createWaveAnimator(for: columnCollection) // animator.add(self) // animator.start() }
- Hal Mueller asked 3 years ago
- last active 3 years ago
Good day guys. I have download SciChart_iOS_SDK_4.2.0.5533 on Macbook M1. And try to integrate ios-arm64_armv7 verions to my project. I have added SciChart.xcframework to frameworks in Xcode 12.4. But the build is failed with a few errors:
- unable to load standard library for target arm-64-apple-ios9.0
- Failed to build module ‘SciChart’ from its module interface, it may have been damaged or it may have triggered a bug in Swift compiler when it was produced.
Can you tell me please did I use the right version of SciChart.xcframework for apple silicone? And how to solve this errors?
- Alexander Kishchak asked 3 years ago
- last active 3 years ago
Good day! I have download this zip archive SciChart_iOS_SDK_4.2.0.5533.zip, on my laptop. Opened it and can not find the file SciChart.xcframework, according description from this article. I need to add library to Xcode frameworks, but I can not do it. Please can you tell me where can I get this file.
- Alexander Kishchak asked 3 years ago
- last active 3 years ago
Guys can you tell me please why I get this error after build on new `mac M1 chip and how to solve it:
error: unable to load standard library for target ‘arm64-apple-ios8.0’
/Users/nameuser/Projects/pojectname/ios/SciChart.framework/Modules/SciChart.swiftmodule/arm64.swiftinterface:1:1: error: failed to build module ‘SciChart’ from its module interface; the compiler that produced it, ‘Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15)’, may have used features that aren’t supported by this compiler, ‘Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)’
// swift-interface-format-version: 1.0`
- Alexander Kishchak asked 3 years ago
- last active 3 years ago
Please tell me how to add the ability to use multiple touch. The goal is that when the user touches the screen in two places at the same time, two lines appear on the graph. I would like to understand whether this is possible?
- Vitaliy Musonov asked 3 years ago
- last active 3 years ago
Hi , many of the charts provide a way to set the date on the x axis for the data series and that makes the axis match the DataSeries value defined for that axis, but for heatmap dataseries when you define xType as date the xAxis of type date is not displaying on surface, I don’t know what I’m doing wrong and there is no sample for dates on GitHub , the samples only use int , would be great if you can provide a date sample for the heatmap , thanks
- Mariano Cornejo asked 3 years ago
- last active 12 months ago
Hi there,
I’m trying to display little icons as axis labels using the LabelProvider API and NSAttributedString (with NSTextAttachmet). Is this supported? Here’s a minimal example:
import UIKit
import Foundation
import SciChart
import SciChart.Protected.SCILabelProviderBase
class ViewController: UIViewController {
private lazy var chart: SCIChartSurface = {
let c = SCIChartSurface(frame: .zero)
c.xAxes.add(items: SCINumericAxis())
let yAxis = SCINumericAxis()
yAxis.labelProvider = SymbolLabelProvider()
c.yAxes.add(items: yAxis)
return c
}()
override func viewDidLoad() {
super.viewDidLoad()
SCIChartSurface.setRuntimeLicenseKey(myLicenseKey)
view.addSubview(chart)
chart.translatesAutoresizingMaskIntoConstraints = false
let guide = self.view.safeAreaLayoutGuide
NSLayoutConstraint.activate([
chart.leadingAnchor.constraint(equalTo: guide.leadingAnchor),
chart.trailingAnchor.constraint(equalTo: guide.trailingAnchor),
chart.topAnchor.constraint(equalTo: guide.topAnchor),
chart.bottomAnchor.constraint(equalTo: guide.bottomAnchor),
])
}
}
class SymbolLabelProvider: SCILabelProviderBase<SCINumericAxis> {
lazy var numberFormatter: NumberFormatter = {
let f = NumberFormatter()
f.allowsFloats = true
f.maximumFractionDigits = 2
return f
}()
init() {
super.init(axisType: ISCINumericAxis.self)
}
override func formatLabel(_ dataValue: ISCIComparable!) -> ISCIString! {
let intValue = Int(dataValue.toDouble())
let font = UIFont.init(descriptor: axis.tickLabelStyle.fontDescriptor, size: UIFont.systemFontSize * 4)
if intValue.isMultiple(of: 2) {
let i = UIImage(systemName: "circle", withConfiguration: UIImage.SymbolConfiguration(font: font))
return NSAttributedString(attachment: NSTextAttachment(image: i!))
} else {
let attributes: [NSAttributedString.Key: Any] = [
.font: font,
.foregroundColor: UIColor.yellow,
]
return NSAttributedString(string: numberFormatter.string(for: dataValue.toDouble())!, attributes: attributes)
}
}
}
See attached screenshot for the result.
If this is not supported: any suggestions / ideas for a workaround?
Thanks
—Matthias
- Matthias Maurberger asked 3 years ago
- last active 3 years ago
Hi guys,
I want to show x value on chart bar itself as shown in the attached image along with this query. I tried using annotation where I need to give x and y value each time and it look not appropriate in the 2 data series column chart using, instead of that I need easy way to represent label of bar value on graph bar.
please suggest if any.
Thanks in advance.
- ananya rai asked 3 years ago
- last active 3 years ago
Hi guys,
I have some troubles with piecharts in swift. I want to provide custom labels outside of the piecharts segments. I found a screenshot of a nested piechart attached to an issue in your issue tracker. Thats what I want to do in swift, but I couldn’t find out a way to do so. Could you please provide an example code?
Thanks a lot in advance!
Alex
- Alexander Frankenhauser asked 3 years ago
- last active 1 year ago
Hey everyone, my team currently has Scicharts for WPF set up and functioning the way we want it too.
We are moving to Xamarin and have tested Scicharts in a Xamarin.Forms project working for Android/iOS and Windows WPF.
The next step was to install Visual Studios for Mac, and setup a new Xamarin.Forms project and pull the code from the windows version of our Xamarin.Forms project. For windows we use a custom renderer to get the scicharts to work for all platforms available on the windows version. For Mac, we are trying to get a custom renderer set up to load the swift version of the Scicharts for Mac. It’s not going so well.
Can anyone provide details on if it’s possible to get a xaramarin.forms project to load the scicharts for mac framework?
Thanks
NOTE** I picked iOS because for some reason MacOS wasn’t in the list of platforms
- Deryk Richardson asked 3 years ago
- last active 3 years ago
Hi, I want to set yaxis labels outside the chart but unable to find any solution please help.
- varun sharma asked 3 years ago
- last active 3 years ago
I’m updating some code that was written against SciChart iOS v2. We have one graph in that code that relied on removeFromLegend
in a renderable series, to prevent the legend from getting ridiculous long.
As an example, suppose we have Western Earth, Western Wind, Western Fire, Eastern Earth, Eastern Wind, and Eastern Fire. Each element is styled the same, no matter where it’s located. In the legend, we only want to see Earth, Wind, and Fire. Our actual list of series is much longer…4 “elements”, up to 8 locations, making 32 legend entries, with 28 duplicates.
What’s the replacement for removeFromLegend
? How do I prevent these duplications?
- Hal Mueller asked 4 years ago
- last active 3 years ago
I had recently integrated SciChart into my app, and faced some problems with chat appearance on trial mode which are described here: https://www.scichart.com/questions/ios/issue-with-scichart-on-ios-simulator
Due to this problems I tried to run my app on an actual device, and got this build error from Xcode:
”’
ld: building for iOS, but linking in dylib file (/Users/ruslansabirov/Library/Developer/Xcode/DerivedData/exinity-aupulhpegzsnlfcrnqfiwnvnljpj/Build/Products/Debug-iphoneos/SciChart.framework/SciChart) built for iOS Simulator, file ‘/Users/ruslansabirov/Library/Developer/Xcode/DerivedData/exinity-aupulhpegzsnlfcrnqfiwnvnljpj/Build/Products/Debug-iphoneos/SciChart.framework/SciChart’ for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
”’
How can I fix this problem?
- Ruslan Sabirov asked 4 years ago
- last active 4 years ago
I was trying to test SciChart on simulator, but I have a problem: I added chart surface on my view, and after I launch an app, SciChart is showing me this text on the screen :
“Hardware rendering performance of SciChart in simulator is SLOW. Please use an actual device to feel the real-world performance”
How do I remove this text and test my charts on the simulator?
- Ruslan Sabirov asked 4 years ago
- last active 3 years ago
Hi,
I’d like to update the iOS version to the latest stable one (4.1.0), but after following the steps here: https://www.scichart.com/documentation/ios/current/integrating-scichart-libraries.html
Xcode keeps complaining:
framework not found SciChart.xcframework
clang: error: linker command failed with exit code 1
If I downgrade back to 3.1.1 everything works again. Any idea why the version 4.1.0 is not working? I’m using Pods to manage all dependencies.
- Erika Sankari asked 4 years ago
- last active 4 years ago
While moving the rollover cursor, if the number of series under the cursor increases, the rollover cursor labels become wrongly positioned. This ViewController subclass Swift example reproduces the problem.
import UIKit
import SciChart
class ViewController: UIViewController {
// Surface is added in Storyboard
@IBOutlet weak var surface: SCIChartSurface!
override func viewDidLoad() {
super.viewDidLoad()
let xAxis = SCINumericAxis()
let yAxis = SCINumericAxis()
xAxis.visibleRange = SCIDoubleRange(min: 0, max: 260)
yAxis.visibleRange = SCIDoubleRange(min: -5, max:12)
yAxis.autoRange = .never
self.surface.chartModifiers.add(items: SCIRolloverModifier())
self.surface.xAxes.add(xAxis)
self.surface.yAxes.add(yAxis)
self.surface.renderableSeries.add(items:
renderableSeries( 10...50, 10, .red),
renderableSeries(150...250, 8, .green),
renderableSeries( 10...100, 2, .cyan),
renderableSeries(200...250, 0, .orange),
renderableSeries( 10...250, 5, .white)
)
}
func renderableSeries(_ xValues:ClosedRange<Int>, _ yValue:Double, _ color:UIColor) -> SCIFastLineRenderableSeries {
let series = SCIXyDataSeries(xType: .double, yType: .double)
xValues.forEach { series.append(x: $0, y: yValue ) }
let rSeries = SCIFastLineRenderableSeries()
rSeries.dataSeries = series
rSeries.strokeStyle = SCISolidPenStyle(color: color, thickness: 4)
return rSeries
}
}
- Julian Symes asked 4 years ago
- last active 4 years ago
Hi,
We have an issue where the graph grid lines and tick markers do not show on iOS 10. Everything works on iOS 11 and up. Any idea why this is happening?
- Erika Sankari asked 4 years ago
- last active 3 years ago
Hi,
I’m trying to convert Java code to swift and I need the AnnotationLabel’s setAxisLabelStyle equivalent.
AnnotationLabel annotationLabel = new AnnotationLabel(getContext());
annotationLabel.setLabelPlacement(LabelPlacement.Axis);
annotationLabel.setAxisLabelStyle(new Action1<AnnotationLabel>()
{
@Override
public void execute(AnnotationLabel annotationLabel)
{
annotationLabel.setFontStyle(new FontStyle(37.0f, Color.BLUE));
annotationLabel.setBackgroundResource(R.drawable.current_price);
}
});
How can i apply this code in swift?
- Emre Gökberk asked 4 years ago
- last active 4 years ago
Hi,
I’m trying to convert Java code to swift and I need the RolloverModifier class’s updateCurrentPoint method. I create CustomRolloverModifier class inherits from SCIRolloverModifier class and import SciChart.Protected.SCIRolloverModifier extension too. But i can’t find updateCurrentPoint method. What is the updateCurrentPoint equivalent method on swift?
Thanks.
- Emre Gökberk asked 4 years ago
- last active 4 years ago
SciChart 3.1.0.5175 running on iOS 13.6
Please see this short video which demonstrates the issue: https://youtu.be/HjtWZDZeyXM
I have a chart showing a single Spline data series. The data series never drops below zero, yet the chart shows multiple points where the line drops below zero as you zoom in and out. This behavior changes as the zoom level changes.
Is this expected behavior for the spline chart? Is there a way to change the behavior so the chart does not show these sub-zero points?
private func drawChart()
{
createChartSurface()
let series = self.getPositionSeries( name: name, color: color, results: resultsSession.rearResults )
self.sciChartSurface?.renderableSeries.add(series)
}
private func createChartSurface()
{
// If we created a chart surface previously then we need to remove it from the superview
sciChartSurface?.removeFromSuperview()
// Create a SCIChartSurface. This is a UIView so can be added directly to the UI
sciChartSurface = SCIChartSurface()
sciChartSurface?.translatesAutoresizingMaskIntoConstraints = false
self.view.addSubview(sciChartSurface!)
//sciChartSurface?.autoresizingMask = [.flexibleHeight, .flexibleWidth] // chart bottom falls off the view without this
sciChartSurface?.topAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.topAnchor).isActive = true
sciChartSurface?.bottomAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.bottomAnchor).isActive = true
sciChartSurface?.leftAnchor.constraint(equalTo: self.view.leftAnchor).isActive = true
sciChartSurface?.rightAnchor.constraint(equalTo: self.view.rightAnchor).isActive = true
// Create an XAxis and YAxis. This step is mandatory before creating series
let xaxis = SCINumericAxis()
xaxis.axisTitle = "Seconds"
sciChartSurface?.xAxes.add(xaxis)
let yaxis = SCINumericAxis()
yaxis.axisTitle = "Position (mm)"
yaxis.axisId = "p" // position
yaxis.axisAlignment = .right
sciChartSurface?.yAxes.add(yaxis)
let yaxis = SCINumericAxis()
yaxis.axisTitle = "Speed mm/s"
yaxis.axisId = "s" // speed
yaxis.axisAlignment = .left
sciChartSurface?.yAxes.add(yaxis)
addModifiers()
}
private func getPositionSeries( name: String, color: UIColor, results: ResultData ) -> SCISplineLineRenderableSeries
{
let positionData = SCIXyDataSeries(xType: .double, yType: .double)
positionData.seriesName = name
let start = resultsSession.indexStart + 1
let last = resultsSession.indexEnd
for index in start ... last {
let t1 = resultsSession.sensorData[index-1].time
let t2 = resultsSession.sensorData[index].time
if ((t2-t1) == 1) {
let x = Double(t2) / resultsSession.sampleRate
let y = results.axleData[index].position
positionData.append(x: x, y: y)
} else {
// There was a gap in the data. Fill in the gap with a horizontal line.
let y = results.axleData[index-1].position
for tx in (t1 + 1) ... t2 {
let x = Double(tx) / resultsSession.sampleRate
positionData.append(x:x, y:y)
}
}
}
let positionSeries = SCISplineLineRenderableSeries() // SCIFastLineRenderableSeries()
positionSeries.dataSeries = positionData
positionSeries.yAxisId = "p"
positionSeries.strokeStyle = SCISolidPenStyle(color: color, thickness: 1.0)
return positionSeries
}
- Michael Chartier asked 4 years ago
- last active 4 years ago
Hi,
How can i listen annotation selection changes? I try this code but i’m getting error “Cannot assign to property: ‘lineAnnotation’ is immutable”
var lineAnnotation = SCILineAnnotation()
lineAnnotation.annotationSelectionChangedListener = { (annotation, isSelected) in
//
}
Tnx.
- apiftechnics api asked 4 years ago
- last active 4 years ago
Hi,
I’m trying to convert Java code to swift and I need the same CustomCategoryDateAxis class as Yura’s answer: https://www.scichart.com/questions/android/setvisiblerangelimitmode-on-xaxis
I try to inherit from SCICategoryDateAxis but there is no isZoomConstrainSatisfied and coerceVisibleRange overrides.
How can i write the same code in swift?
Tnx.
- apiftechnics api asked 4 years ago
- last active 4 years ago
Hello,
I’m trying to convert Android (Java) code to iOS (Swift), and I need to create a custom SCIZoomPanModifier. In the android code, onFling, onDown, and onDown were overridden, but I can’t seem to do that in iOS. How can I override onFling, onDown, and onUp in iOS to mimic the android code?
Thanks
- Yatharth Chhabra asked 4 years ago
- last active 4 years ago
Currently we have two graph surfaces with two Y axes on each side and we need all of the Y axes to have fixed width size. Until now we were achieving that like this:
topGraphSurface.LeftAxisAreaForcedSize = 45;
topGraphSurface.RightAxisAreaForcedSize = 45;
bottomGraphSurface.LeftAxisAreaForcedSize = 45;
bottomGraphSurface.RightAxisAreaForcedSize = 45;
but since updating to the new SciChart v3 we get the error “SciChartSurface does not contain a definition for (Left)AxisAreaForcedSize”. I couldn’t find any information about this in the Migration guide, so is there a way to achieve this in the new version?
- Martina Papaliska asked 4 years ago
- last active 4 years ago
Hello,
I need to display realtime chart with 20 series of data. My data is arriving at 500Hz. When I’m displaying this data, I find that after a while SciChart hangs with what appears to be a deadlock.
I’ve read as much as I can find about realtime graphing with SciChart and I started with tutorial 4 – Adding Realtime Updates. This article (https://www.scichart.com/questions/wpf/is-xydataseries-safe-to-being-changed-in-a-separate-thread) suggests that SciChart is thread safe so I tried using a second thread to feed data into a graph. My only change was to move from the main thread timer in the example to a GCD timer running at 500Hz. With this, I’m easily able to reproduce the deadlock in around 1.5 seconds.
Here is the main thread which is attempting to render:
Thread 1 Queue : com.apple.main-thread (serial)
#0 0x0000000192bc8c20 in __psynch_rw_rdlock ()
#1 0x0000000192ae4864 in _pthread_rwlock_lock_wait ()
#2 0x0000000192ae47fc in _pthread_rwlock_lock_slow$VARIANT$mp ()
#3 0x0000000104a93828 in -[SCIRenderableSeriesLock initWithRenderableSeries:] ()
#4 0x0000000104ab742c in -[SCIRenderSurfaceRenderer p_SCI_updateCoreData:renderPassState:viewportSize:] ()
#5 0x0000000104ab6f4c in -[SCIRenderSurfaceRenderer p_SCI_renderLoop:assetManager:renderPassState:] ()
#6 0x0000000104ab6dc4 in -[SCIRenderSurfaceRenderer onDrawWithContext:andAssetManager:] ()
#7 0x00000001049c50c0 in -[SCIRenderSurfaceDrawable2D drawFrameIn:withDrawableSize:] ()
#8 0x0000000104ad4db8 in -[SCITwisterRendererBase drawFrameIn:withDrawableSize:] ()
#9 0x00000001049e56c8 in -[SCIMetalRenderer drawFrameIn:withDrawableSize:] ()
#10 0x0000000104a25b70 in -[SCIMetalRenderSurfaceBase draw] ()
#11 0x00000001999861ec in -[CALayer display] ()
#12 0x00000001999984d4 in CA::Layer::layout_and_display_if_needed(CA::Transaction*) ()
#13 0x00000001998e11d8 in CA::Context::commit_transaction(CA::Transaction*, double) ()
#14 0x000000019990ab78 in CA::Transaction::commit() ()
#15 0x000000019990b58c in CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) ()
#16 0x0000000192d50fbc in __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ ()
#17 0x0000000192d4beb0 in __CFRunLoopDoObservers ()
#18 0x0000000192d4c32c in __CFRunLoopRun ()
#19 0x0000000192d4bc38 in CFRunLoopRunSpecific ()
#20 0x000000019d39a38c in GSEventRunModal ()
#21 0x0000000196e7c444 in UIApplicationMain ()
#22 0x00000001042cc478 in main at /Users/mall/Downloads/SciChart.iOS.Examples-SciChart_v3_Release/tutorials/tutorials-2d/Tutorial 04 - Adding Realtime Updates/Tutorial 04 - Adding Realtime Updates/AppDelegate.swift:5
#23 0x0000000192bd38f0 in start ()
and here is my worker thread adding data to a series:
Thread 11 Queue : com.apple.root.default-qos.overcommit (concurrent)
#0 0x0000000192bc8c20 in __psynch_rw_rdlock ()
#1 0x0000000192ae4864 in _pthread_rwlock_lock_wait ()
#2 0x0000000192ae47fc in _pthread_rwlock_lock_slow$VARIANT$mp ()
#3 0x0000000104ac1518 in -[SCIXDataSeries p_SCI_searchDataIndexOn:xMinAsDouble:xMaxAsDouble:downSearchMode:upSearchMode:] ()
#4 0x0000000104ac1368 in -[SCIXDataSeries getIndicesXRange:xMinAsDouble:xMaxAsDouble:isCategoryAxis:] ()
#5 0x0000000104ac1b34 in -[SCIXDataSeries getWindowYRangeWithXCoordCalc:getPositiveRange:] ()
#6 0x0000000104aceddc in -[SCIRenderableSeriesBase getYRange:positive:] ()
#7 0x00000001049b25ac in -[SCIRangeCalculationHelper2DBase getWindowedYRangeWithXCalculators:] ()
#8 0x0000000104a05f84 in -[SCIAxisBase getWindowedYRangeWithXRanges:] ()
#9 0x00000001049f4184 in -[SCIChartSurface p_SCI_zoomExtentsYWithCalculators:andDuration:] ()
#10 0x00000001049f3d14 in -[SCIChartSurface p_SCI_zoomExtentsWithDuration:] ()
#11 0x00000001042c79e8 in closure #1 in ViewController.handleTimer() at /Users/mall/Downloads/SciChart.iOS.Examples-SciChart_v3_Release/tutorials/tutorials-2d/Tutorial 04 - Adding Realtime Updates/Tutorial 04 - Adding Realtime Updates/ViewController.swift:84
#12 0x00000001042c7500 in thunk for @escaping @callee_guaranteed () -> () ()
#13 0x0000000104abdae0 in +[SCIUpdateSuspender usingWithSuspendable:withBlock:] ()
#14 0x00000001042c7824 in ViewController.handleTimer() at /Users/mall/Downloads/SciChart.iOS.Examples-SciChart_v3_Release/tutorials/tutorials-2d/Tutorial 04 - Adding Realtime Updates/Tutorial 04 - Adding Realtime Updates/ViewController.swift:79
#15 0x00000001042c9250 in partial apply ()
#16 0x00000001042cb1e4 in closure #1 in closure #1 in RepeatingTimer.timer.getter at /Users/mall/Downloads/SciChart.iOS.Examples-SciChart_v3_Release/tutorials/tutorials-2d/Tutorial 04 - Adding Realtime Updates/Tutorial 04 - Adding Realtime Updates/RepeatingTimer.swift:26
#17 0x00000001042c7500 in thunk for @escaping @callee_guaranteed () -> () ()
#18 0x0000000107093730 in _dispatch_client_callout ()
#19 0x0000000107096390 in _dispatch_continuation_pop ()
#20 0x00000001070a9614 in _dispatch_source_invoke ()
#21 0x00000001070a4d74 in _dispatch_root_queue_drain ()
#22 0x00000001070a5698 in _dispatch_worker_thread2 ()
#23 0x0000000192aeab38 in _pthread_wqthread ()
Here is my version of the ViewController class from Tutorial 4 with the GCD timer (note that it uses RepeatingTimer class found here: https://gist.github.com/danielgalasko/1da90276f23ea24cb3467c33d2c05768) – my changes are marked with the //MALL comment:
import UIKit
import SciChart
class ViewController: UIViewController {
//MALL
private var timer = RepeatingTimer(timeInterval: 1.0/500.0)
private let pointsCount = 200
private var count: Int = 0
private let lineData = SCIDoubleValues()
private lazy var lineDataSeries: SCIXyDataSeries = {
let lineDataSeries = SCIXyDataSeries(xType: .int, yType: .double)
lineDataSeries.seriesName = "Line Series"
lineDataSeries.fifoCapacity = 300
return lineDataSeries
}()
private let scatterData = SCIDoubleValues()
private lazy var scatterDataSeries: SCIXyDataSeries = {
let scatterDataSeries = SCIXyDataSeries(xType: .int, yType: .double)
scatterDataSeries.seriesName = "Scatter Series"
scatterDataSeries.fifoCapacity = 300
return scatterDataSeries
}()
private var surface: SCIChartSurface {
return view as! SCIChartSurface
}
override func loadView() {
viewRespectsSystemMinimumLayoutMargins = false
view = SCIChartSurface()
}
override func viewDidLoad() {
super.viewDidLoad()
let xValues = SCIIntegerValues()
for i in 0 ..< pointsCount {
xValues.add(Int32(i))
lineData.add(sin(Double(i) * 0.1))
scatterData.add(cos(Double(i) * 0.1))
count += 1
}
lineDataSeries.append(x: xValues, y: lineData)
scatterDataSeries.append(x: xValues, y: scatterData)
let lineSeries = SCIFastLineRenderableSeries()
lineSeries.dataSeries = lineDataSeries
let pointMarker = SCIEllipsePointMarker()
pointMarker.fillStyle = SCISolidBrushStyle(colorCode: 0xFF32CD32)
pointMarker.size = CGSize(width: 10, height: 10)
let scatterSeries = SCIXyScatterRenderableSeries()
scatterSeries.dataSeries = scatterDataSeries
scatterSeries.pointMarker = pointMarker
let legendModifier = SCILegendModifier()
legendModifier.orientation = .horizontal
legendModifier.position = [.bottom, .centerHorizontal]
legendModifier.margins = UIEdgeInsets(top: 0, left: 0, bottom: 10, right: 0)
SCIUpdateSuspender.usingWith(self.surface) {
self.surface.xAxes.add(items: SCINumericAxis())
self.surface.yAxes.add(items: SCINumericAxis())
self.surface.renderableSeries.add(items: lineSeries, scatterSeries)
self.surface.chartModifiers.add(items: SCIPinchZoomModifier(), SCIZoomExtentsModifier())
self.surface.chartModifiers.add(items: SCIRolloverModifier(), legendModifier)
}
// MALL
timer.eventHandler = handleTimer
timer.resume()
}
// MALL
private func handleTimer() {
let x = count
SCIUpdateSuspender.usingWith(surface) {
self.lineDataSeries.append(x: x, y: sin(Double(x) * 0.1))
self.scatterDataSeries.append(x: x, y: cos(Double(x) * 0.1))
// zoom series to fit viewport size into X-Axis direction
self.surface.zoomExtents()
self.count += 1
}
}
}
Thanks in advance for any help you can offer.
- Mark Alldritt asked 4 years ago
- last active 4 years ago
Hello
In the real-time line chart, I want an animation like the video(link below).
Can you be provided with animations such as a point where a point drawn in real time continues to blink?
https://drive.google.com/file/d/1tcSFNPwSR4XEZqMX_t8GK2vzV5NUQUcn/view?usp=sharing
- Jinsu Park asked 4 years ago
- last active 4 years ago
I am setting SCIDateTimeAxis as my XAxis by using the code:
let xAxis = SCIDateTimeAxis()
xAxis.style.labelStyle.color = UIColor.darkGray
xAxis.textFormatting = “dd MMM”
xAxis.visibleRange = SCIDateRange(dateMin: 2019-07-29 11:30:00, max:2019-07-29 11:30:00)
As I have a requirement to change the application Language to THI.
How can I set the locale to the axis, so the label visible on the axis should displayed in THI language.
As right now it is always visible in english irrespective of the language like 1 sep, 20 sep, 10 oct, 30 oct, 20 nov .
Please help.
Thanks
Vikas Ahuja
- Vikas Ahuja asked 4 years ago
- last active 4 years ago
Hello, I have tried to see if it is possible to show the rollover without showing any labels so that is is just a vertical bar. I was searching on StackOverflow and a few answers said it was not possible to omit any of the values from the graph. I did see that we can customize the cursor, is it possible to just have it be a vertical bar instead of a cross?? Then I could just use it instead of the default rollover.
I am linking a mockup we made of what we want to make. In the image, you have the graphic showing where the use as pressed, and above the graphic, we will show and update a graphic with the relevant information for that point.
Also, I will need to programmatically dismiss it so it will need to stay visible even if the user is panning or zooming.
- Pascale Beaulac asked 4 years ago
- last active 4 years ago
See the screen shot (attached)
To dupe this start on the SciChart home page, select documentation, select iOS, then enter anything into the search box.
I get the same results with Chrome and Safari.
- Michael Chartier asked 4 years ago
- last active 4 years ago
SciChart 3.1.0.5175
iOS 13.5
Xcode 10.15.5
If I am using the API incorrectly please let me know. I am not aware of any requirement to wait after using the SciChart API.
It appears the SCILegendModifier has some kind of timing bug. If you draw a chart on a surface with a legend, then clear the chart, then add another plot to the same surface you will notice the legend has stale data. However, if you clear the surface and wait a second before you add the new plot it will work as expected.
I created a sample Xcode project to demonstrate the issue. See the attachment chart.zip
I also created a video to demonstrate the issue: https://youtu.be/1JBTd1sfVgI
I have a workaround so this is not urgent, but I would like to remove the delay for my production release.
- Michael Chartier asked 4 years ago
- last active 4 years ago
I’m tested on iPhone 8 (iOS 13.5.1) and iPad (iPadOS 13.5.1). On iPad the graph always works great but on iPhone sooner or later it always fails.
The exception is always “Thread 1: EXC_BAD_ACCESS (code=1, address=0x11d927ffc)” in the application main:
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); <–
}
}
in the task stack:
SciChart`XValuesProviderWrapper<int>::GetDoubleValue:
0x103b530e0 <+0>: ldr x8, [x0, #0x8]
0x103b530e4 <+4>: ldr w8, [x8, w1, sxtw #2] <--
0x103b530e8 <+8>: scvtf d0, w8
0x103b530ec <+12>: ret
The truth is, I have no idea what’s going on. .. Please, anyone know what might be happening?
Thank you very much!
Due to the app upgrade, the code is in objective-c. This is my initialization code:
- (void) loadSciChartSurface:(SCIChartSurface*)surface {
sciChartSurface = surface;
sciChartSurface.translatesAutoresizingMaskIntoConstraints = true;
// scroll
SCIZoomPanModifier *zoomPan = [SCIZoomPanModifier new];
zoomPan.receiveHandledEvents = true;
zoomPan.zoomExtentsY = false;
zoomPan.direction = SCIDirection2D_XDirection;
[sciChartSurface.chartModifiers add:zoomPan];
// zoom
SCIPinchZoomModifier *pinchZoomModifier = [SCIPinchZoomModifier new];
pinchZoomModifier.direction = SCIDirection2D_XDirection;
pinchZoomModifier.scaleFactor = 1.5;
[sciChartSurface.chartModifiers add:pinchZoomModifier];
// series
rSeries = [SCIFastLineRenderableSeries new];
xAxis = [SCINumericAxis new];
yAxis = [SCINumericAxis new];
xAxis.visibleRangeChangeListener = ^(id<ISCIAxis> axis, id<ISCIRange> oldRange, id<ISCIRange> newRange, BOOL isAnimating) {
int min = newRange.minAsDouble;
int max = newRange.maxAsDouble;
int center = (min + max) / 2;
if (center <= 0) {
axis.visibleRange.min = @(0.0 - xHalfWidth);
axis.visibleRange.max = @(xWidth - xHalfWidth);
} else if (center >= dataSamples) {
axis.visibleRange.min = @(dataSamples - xHalfWidth);
axis.visibleRange.max = @(dataSamples + xHalfWidth);
} else {
// xWith is updated to keep the zoom factor in limits, when (center <= 0) or (center >= dataSamples)
xWidth = max - min;
xHalfWidth = xWidth / 2;
}
};
[SCIUpdateSuspender usingWithSuspendable:sciChartSurface withBlock:^{
[sciChartSurface.xAxes add:xAxis];
[sciChartSurface.yAxes add:yAxis];
[sciChartSurface.renderableSeries add:rSeries];
[SCIAnimations sweepSeries:rSeries duration:0.0 andEasingFunction:[SCICubicEase new]];
}];
dataSeries = [[SCIXyDataSeries alloc] initWithXType:SCIDataType_Int yType:SCIDataType_Short];
// x
xWidth = theFileFormat.mSampleRate * MIN_SECONDS_IN_GRID * 1;
xIndex = 0;
xHalfWidth = xWidth / 2;
xAxis.visibleRange = [[SCIDoubleRange alloc] initWithMin:0.0 max:xWidth];
// y
yAxis.visibleRange = [[SCIDoubleRange alloc] initWithMin:SHRT_MIN max:SHRT_MAX];
[self loadDefaultStyle];
}
- Vicente Broseta asked 4 years ago
- last active 4 years ago
I’m trying to clear a SCIUniformHeatmapDataSeries after connecting it to a SCIChartSurface, but it is very slow and energy consuming. However, if I clear the data series before it is connected to the sci chart, then the clearing is pretty fast. How can I clear the data series after it is connected to the chart surface quickly? Do I have to make a new data series, clear it, and connect to the scichartsurface every time I want to clear a data series? This is for iOS by the way.
EDIT: code
for i in 0..<data.MATRIX_COLUMNS {
for j in 0..<data.MATRIX_ROWS {
data.ecm2DMatrix[i][j] = Double.nan
SCIUpdateSuspender.usingWith(charts.ecmSurface) {
self.data.ecmDataSeries.update(z:self.data.ecm2DMatrix[i][j], atX: i, y: j)
}
- Yatharth Chhabra asked 4 years ago
- last active 4 years ago
I would like to change the color of chart legend, but have failed to find information on how can I do this for iOS. Any sort of tutorial would be highly appreciated.
Worst case scenario would be to create a custom theme that is based on Bright Spark theme and update legend parameters there, but for this I would need to know what exactly does Bright Spark theme looks like.
Looking forward to any recommendations.
Best Regards,
Paul.
- Paulius Zukas asked 4 years ago
- last active 4 years ago
Hi guys,
I’m currently evaluating SciChart on iOS using Swift. It seems to have an excellent level of customisation and is almost a drop-in fit for what were are looking for.
I’m creating a timeline chart of candlesticks which the user can pan through. However while the zooming of the Y axis keeps the candles nicely in frame, the zoom snaps into place instantly as the pan happens which is very disorienting. Searching the docs, I cannot see a way to cause a smooth animation as the chart automatically zooms in and out.
This is probably the only thing that we really need to do to make this product work for us so hopefully there is an answer to solve this for us!
Thanks in advance!
- David Monagle asked 4 years ago
- last active 4 years ago
Hello,
We have an app where we need to specify a different width for each column. I have attached an image of the result we want. We are currently using “SCIFastColumnRenderableSeries” for the diagram, but all columns have a fixed width and I couldn’t find any way to modify it.
Do you have any suggestions how to accomplish this?
Thanks!
- Alexandru Motoc asked 4 years ago
- last active 4 years ago