yAxis.textFormatting = “%f”
First image file is the result of this code.
yAxis.textFormatting = “0.00000000”
Second image file is the result of this code.
First code doesn’t work, even it is just a sample code in document.
Second code works, but I want flexible trailing zeros.
How can I do?
- Minsub Kim asked 5 years ago
- last active 5 years ago
Hi
I am developing a Xamarin iOS application and I’m using a SCIPieChartSurface. I can create the chart and set its values, but it is not possible to auto-update the donut with new data.
I am trying to update the value by doing:
myDonut.MyPieSegment.Value = newValue;
But nothing happends…
- Andreas Svensson asked 6 years ago
- last active 6 years ago
Hi, guys
Is there something similar like
- (void)bringSubviewToFront:(UIView *)view;
- (void)sendSubviewToBack:(UIView *)view;
from UIView but for chart Annotations?
Best regards,
Sushynski Andrei
- Andrei Sushynski asked 7 years ago
- last active 2 years ago
Hi Sir/Madam,
I have created a Mountain Series with gradient fill. below is part of my code:
-(SCIRenderableSeriesBase *)getTimeSharePlot:(SCIXyDataSeries*)xySeries{
SCIFastMountainRenderableSeries * rSeries = [SCIFastMountainRenderableSeries new];
rSeries.dataSeries = xySeries;
rSeries.strokeStyle = [[SCISolidPenStyle alloc] initWithColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:1] withThickness:1];
rSeries.areaStyle = [[SCILinearGradientBrushStyle alloc] initWithColorStart:[UIColor colorWithRed:32/255.0 green:56/255.0 blue:124/255.0 alpha:1.0] finish:[UIColor whiteColor] direction:SCILinearGradientDirection_Vertical];
return rSeries;
}
When i run the test, the chart is just filling with solid color
Would you please help?
BR,
Tommy
- tommy ng asked 6 years ago
- last active 6 years ago
Hi, guys
I’m working with SCIDateTimeAxis type of the X-axis. So my question Is there possibility of skipping non-value period?
Best regards,
Sushynski Andrei
- Andrei Sushynski asked 7 years ago
- last active 7 years ago
It would be nice to have an access to repo through CocoaPods. You can create a private spec repo and share with developers. https://guides.cocoapods.org/making/private-cocoapods.html
- Alexander Edunov asked 8 years ago
- last active 5 years ago
Hello,
I’ve been looking for the documentation of how to customize the look of the chart. I have a black/dark gray checker pattern that seems to be the default. I would like to:
1. Change the background to white, no checkerboard pattern
here is the documentation for chart background but it does not show me how to change it to white. https://www.scichart.com/documentation/ios/v2.x/webframe.html#The%20SciChartSurface%20Type.html
I have found through experimentation the I can call
surface.backgroundColor
But that just changes the axis background color
2. Make the text larger on the axis.
here is the documentation for the axis https://www.scichart.com/documentation/ios/v2.x/webframe.html#Adding%20an%20Axis%20to%20a%20SciChartSurface.html
I see these lines that were provided but they won’t compile because Xcode doesn’t know what defaultFontSize is and there are no other references to it and I still don’t see a way to set the size.
textFormat.fontName = SCSFontsName.defaultFontName
textFormat.fontSize = SCSFontSizes.defaultFontSize
I think it would be helpful to create a walkthrough for iOS that shows how to customize the background and axis. I’ve looked through the samples provided but the files are huge and I get lost trying to figure it out.
Thanks,
Warren
- Warren Hansen asked 7 years ago
- last active 2 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
On device, there is an unwanted border line on the SCIChartSurface. Please refer to the screenshot.
I tried removing this by setting the border width and setting it’s colour as white as below
self.surface.view.layer.borderColor = [[UIColor whiteColor]CGColor];
self.surface.view.layer.borderWidth = 2.0f;
However, this does not set the border of the SCIChartSurface.
How do I remove this unwanted border line?
- Chui asked 7 years ago
- last active 7 years ago
Hi,
I am using sci chart version 2.2.1.2256 in that I am getting date wrong, I have attached image please go through it.Here I am sending previously how I am getting date and now what I am getting.
I am using date formatter “dd/MM/yyyy”
finalDateStr = “29/08/2016” and finalWeightStr = “76.7”
dataSeries.appendX(SCIGeneric(dateFormatt.date(from: finalDateStr)!), y: SCIGeneric(finalWeightStr))
- NanoHealth IT asked 6 years ago
- last active 6 years ago
Hi,
Using the ZoomExtentsModifier on multiple axis used to work in an earlier version of SciCharts, but is broken in 4.3.0. I have two y-axes set up, left and right on my chart, with the right-hand-side just mirroring the left. When I double-tap to zoom to the x/y range of the graph, only the x range is modified. If I disable the change listener that mirrors the range change on the primary y axis, double tap works as expected, but my right hand side y-axis no longer mirrors the primary axis range. This is how I’ve set up the dual axes:
let yAxis = SCINumericAxis()
yAxis.axisTitle = "Acceleration (g)"
yAxis.axisAlignment = .left
yAxis.visibleRangeLimitMode = .minMax
chart?.yAxes.add( yAxis )
// Add an additional visible yAxis to the right without label
let yAxisRight = SCINumericAxis()
yAxisRight.axisAlignment = .right
yAxisRight.axisId = "yAxisRight"
chart?.yAxes.add( yAxisRight )
// Sync values with left (primary) axis
yAxis.visibleRangeChangeListener = { (axis, oldRange, newRange, isAnimating) in
yAxisRight.visibleRange = newRange
}
Commenting out the listener at the bottom fixes the ZoomExtentsModifier problem, but is obviously not a workable solution. Any help would be appreciated. Thanks
- Rakesh Vallabh asked 3 years ago
- last active 3 years ago
Hello Team,
In Pie Chart with DonutSeries, the segment spacing seems to have no effect on graph.
donutSeries.segmentSpacing = 10
Thanks
- Sandeep Dhull asked 5 years ago
- last active 4 years ago
Hello,
I am unable to install SciChart pod.
The podfile has multiple pods with multiple platforms and source.
I get the error saying ” [!] Unable to find a specification for ‘SciChart’.”
Please advice..
use_frameworks!
pod 'UICircularProgressRing'
pod 'Alamofire'
platform :ios, '8.0'
source 'https://github.com/CocoaPods/Specs.git'
pod 'SideMenu'
source 'https://github.com/ABTSoftware/PodSpecs.git'
pod 'SciChart', :git => 'https://github.com/ABTSoftware/PodSpecs.git'
- Lakshmi H R asked 6 years ago
- last active 6 years ago
I’m trying to create a Modifier for a PieChart Surface. I can not figure out how to get a segment for a point on the screen. With SciChartSurface, you can get the axis, and use its calculator to get a datapoint, or pixel point. Is there something similar in SciPieChartSurface?
- Mobile Developers asked 5 years ago
- last active 5 years ago
I’m trying to create a spectrum viewer with your library. One important feature is a cursor supporting both automatic mode and manual mode. In automatic mode, it stays at the maximum value. In manual mode, it moves with finger panning. It’s close to the SCICursorModifier with the cross lines, but it should always stay on the plot even without touch. Also it should reside on real data points instead of anywhere in between like the SCIRolloverModifier instead of the SCICursorModifier.
Could you give me some advices about how to achieve it? Thanks.
EDIT: after reading more of your documents, I believe HorizontalLineAnnotation and VerticalLineAnnotation are the way to go. I have already added them as the automatic mode cursor. For the manual mode, I still need your help to achieve either:
1) a callback function for the VerticalLineAnnotation drag event, so that I could move both lines to the corresponding data point
or
2) a custom ZoomPanModifier to allow me to distinguish one point or two points touch: one point panning to move the whole plot and two points panning to determine the new cursor location and redraw the two annotations there
EDIT2: I was able to create a custom VerticalLineAnnotation class to handle the panning event. There is one more question left. Right now in order to update the verticallineannotation and horizontallineannotation on the graph, I remove them from sciChartSurface.annotations, change x/y locations and add them back. Is there a redraw or refresh or update function to call directly?
Thanks
- Haoran Xie asked 5 years ago
- last active 5 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 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 all,
I’m trying to use the metal support in a little test project.
I have following lines to enable metal:
if SCIChartSurface.isMetalSupported {
sciChartSurface.renderSurface = SCIMetalRenderSurface(frame: sciChartSurface.bounds)
} else {
sciChartSurface.renderSurface = SCIOpenGLRenderSurface(frame: sciChartSurface.bounds)
}
the surface keeps empty until I remove the
sciChartSurface.renderSurface = SCIMetalRenderSurface(frame: sciChartSurface.bounds)
line – or in other words I use OpenGL.
Then the chart will render properly. I am using an iPhoneX (not simulator).
Thank you for your support!
Wall of Code:
import UIKit
import SciChart
import SnapKit
class ViewController: UIViewController {
// MARK: - UIElements
private var sciChartSurface: SCIChartSurface!
// MARK: - Vars
private var series: SCIXyDataSeries?
// MARK: - Lifecycle
override func viewDidLoad() {
super.viewDidLoad()
setupSurface()
setupData()
renderData()
}
// MARK: - Chart
private func setupSurface() {
// Create a SCIChartSurface. This is a UIView so can be added directly to the UI
sciChartSurface = SCIChartSurface.init(frame: view.bounds)
sciChartSurface.debugWhySciChartDoesntRender = true
view.addSubview(sciChartSurface)
// Detect metal with this static property
if SCIChartSurface.isMetalSupported {
sciChartSurface.renderSurface = SCIMetalRenderSurface(frame: sciChartSurface.bounds)
} else {
sciChartSurface.renderSurface = SCIOpenGLRenderSurface(frame: sciChartSurface.bounds)
}
sciChartSurface.snp.makeConstraints { (make) in
make.edges.equalToSuperview()
}
sciChartSurface.translatesAutoresizingMaskIntoConstraints = true
sciChartSurface.backgroundColor = .gray
// Create an XAxis and YAxis. This step is mandatory before creating series
let xAxis = SCICategoryNumericAxis()
setup(axis: xAxis)
sciChartSurface.xAxes.add(xAxis)
let yAxis = SCINumericAxis()
setup(axis: yAxis)
sciChartSurface.yAxes.add(yAxis)
}
private func setup(axis: SCIAxisBase) {
let axisStyle = SCIAxisStyle()
let majorPen = SCISolidPenStyle(colorCode: 0xFF393532, withThickness: 0.5)
let minorPen = SCISolidPenStyle(colorCode: 0xFF262423, withThickness: 0.5)
let textFormat = SCITextFormattingStyle()
textFormat.fontSize = 16
axisStyle.majorTickBrush = majorPen
axisStyle.majorGridLineBrush = majorPen
axisStyle.gridBandBrush = SCISolidBrushStyle(colorCode: 0xE1232120)
axisStyle.minorTickBrush = minorPen
axisStyle.minorGridLineBrush = minorPen
axisStyle.labelStyle = textFormat
axisStyle.drawMinorGridLines = true
axisStyle.drawMajorBands = true
axis.style = axisStyle
}
private func setupData() {
series = SCIXyDataSeries(xType: .int16, yType: .int16)
TestData.testData.forEach { (testData) in
let xGeneric = SCIGenericType(type: .int16, .init(int32Data: testData.x))
let yGeneric = SCIGenericType(type: .int16, .init(int32Data: testData.y))
series?.appendX(xGeneric, y: yGeneric)
}
}
private func renderData() {
let renderSeries = SCIFastColumnRenderableSeries()
renderSeries.dataSeries = series
sciChartSurface.renderableSeries.add(renderSeries)
}
}
struct TestData {
var x: Int32
var y: Int32
static let testData = [TestData(x: 2017, y: 5),
TestData(x: 2018, y: 8),
TestData(x: 2019, y: 2),
TestData(x: 2020, y: 9)]
}
- Hubert Weid asked 5 years ago
- last active 5 years ago
Hello
is there a way to set the padding (aka reduce the gap) between bars in a SCIFastColumnRenderableSeries?
I attach a screenshot of my current situation: I would like to have zero margin between columns.
I tried searching in the knowledge base but all the answers I found seem to refer to APIs not available in the iOS SDK
- SciChartSurface without paddings (https://www.scichart.com/questions/wpf/how-to-draw-a-pixel-x-millemeter)
- Reduce Chart Padding (https://www.scichart.com/questions/wpf/reduce-chart-padding)
.
There is not such class method in the iOS SDK called SciChartSurface.Padding
Thanks for your help
- Neybox Digital asked 5 years ago
- last active 5 years ago
Hello.
It’s very strange, but chart can not be zoomed with pinch, only by double tap fitting full screen.
And when trying to zoom app freezes and CPU load became 100%.
func installChart() {
sciChartSurface = SCIChartSurface(frame: self.view.bounds)
sciChartSurface?.translatesAutoresizingMaskIntoConstraints = false
self.vGraphBox.subviews.forEach({ $0.removeFromSuperview() })
self.vGraphBox.addSubview(sciChartSurface!)
NSLayoutConstraint.activate([
sciChartSurface!.leftAnchor.constraint(equalTo: self.vGraphBox.leftAnchor),
sciChartSurface!.rightAnchor.constraint(equalTo: self.vGraphBox.rightAnchor),
sciChartSurface!.bottomAnchor.constraint(equalTo: self.vGraphBox.bottomAnchor),
sciChartSurface!.topAnchor.constraint(equalTo: self.vGraphBox.topAnchor)
])
// Add the SCIChartSurface as a subview
self.vGraphBox.addSubview(sciChartSurface!)
let xAxis = SCILogarithmicNumericAxis()
xAxis.growBy = SCIDoubleRange(min: SCIGeneric(0.1), max: SCIGeneric(0.1))
xAxis.scientificNotation = .logarithmicBase
//xAxis.textFormatting = "#.#E+0"
xAxis.logarithmicBase = 10.0
xAxis.visibleRange = SCIDoubleRange(min: SCIGeneric(100), max: SCIGeneric(22000.0))
let yAxis = SCINumericAxis()
yAxis.autoRange = .never
yAxis.visibleRange = SCIDoubleRange(min: SCIGeneric(-300.0), max: SCIGeneric(0.0))
lineRenderableSeries.dataSeries = self.dataSeries
lineRenderableSeries.strokeStyle = SCISolidPenStyle(colorCode: 0xFFE13219, withThickness: 1)
//self.sciChartSurface?.chartModifiers.add(pinchZoomModifier) //Causes freeze
self.sciChartSurface?.chartModifiers.add(SCIZoomPanModifier())
self.sciChartSurface?.chartModifiers.add(SCIZoomExtentsModifier())
SCIUpdateSuspender.usingWithSuspendable(sciChartSurface!) {
self.sciChartSurface?.xAxes.add(xAxis)
self.sciChartSurface?.yAxes.add(yAxis)
self.sciChartSurface?.renderableSeries.add(self.lineRenderableSeries)
self.sciChartSurface?.renderableSeries.add(self.lineRenderableSeriesMax)
}
}
- Kirey Vadim asked 5 years ago
- last active 4 years ago
I’ve been pouring through the documentation and examples and cannot find an example of this. Has anyone been able to accomplish this and willing to share an example? Thanks.
- Clifford Bateman asked 6 years ago
How can I format the percentage values in the pie chart segments to omit the decimals? e.g i want it to show 20% instead of 20.00%. The values I pass in are always rounded
- Marcus Maringer asked 1 year ago
- last active 1 year ago
I would like to add scrollBar to SCINumericAxis for example xAxis.
I did find documentation:
https://www.scichart.com/documentation/v5.x/webframe.html#Scrollbars.html
But on iOS version, I can’t find numericAxis.Scrollbar is missing
- Andrii Trotsko asked 5 years ago
- last active 5 years ago
We are having an issue which is preventing us from upgrading to a newer version of Xamarin iOS SciChart.
With Xamarin iOS SciChart v3, the UpdateTicks method from SCINumericTickProvider cannot be overridden, because it doesn’t exist (at least not public).
In Xamarin Android SciChart v3, it works with overriding the UpdateTicks method.
In Xamarin iOS SciChart v2, it was possible to customize the ticks by overriding the method GetMajorTicksFromAxis from the class SCINumericTickProvider.
It looks like the types generation from iOS to Xamarin C# has missed to correctly export the UpdateTicks method as public overridable. (Because the docs say it should be there and it is there on Android Xamarin.)
- Jens Stolz asked 4 years ago
- last active 4 years ago
I’m trying to add annotations on a chart but they are rendering above my legend.
Initially (similar to most of the demo code I’ve seen), I setup my modifiers, then created my series and animated them in — then added my annotations (adding to annotationGroup). This created a timeline of blank chart surface with legend (good so far), annotations popping in before the chart series animated in (weird / not good) and on TOP of the legend (really bad), then the animation of the series after that.
I’ve tried about everything I can think of and the best I’ve been able to do is use a completion block of the animation rendering the series — and moved my chart modifiers (and legend) into that completion block. If I put the annotations in the completion block, they will render after the chart modifier and I have the same problem (even if placed after the chart modifiers). I have to set the annotations before the animation, and then the chart modifier in the completion block will work and the legend will be above the . Of course, this is a bit odd too — as first my annotations pop up by themselves on the blank surface, followed by my series animating in, then at the end of the 2 second animation, the legend just pops in.
I really would like my legend to be rendered first on the blank surface and the annotations and chart series to animate in together under my legend. I’m gathering that’s unlikely (at least the animation part) — but is there anyway I can place my legend first and still have the annotations go under it? It feels like the layers should be: modifiers > annotations > rendered series. I also I’ve read this order before in some WPF docs I believe, but doesn’t seem to be respected on iOS?
UPDATE: My current work around isn’t sufficient because I really need access to the renderable series to create the annotations which means I really can’t defer my chart modifiers (i.e. legend) until after the annotations. Additionally, if I need to update (remove / re-add) an annotation due to a series being deactivated in the legend, now my annotations are on top of the legend again.
- Rich Wardwell asked 5 years ago
- last active 5 years ago
We have lots of Point Markers in our series that overlap, so we’re trying to find a way to Cluster them in Android and iOS. I can see that there is an SCIPointMarkerClusterizer. Can you give us some pointers on how we can achieve point marker clustering and/or spacing?
- Lazar Nikolov asked 5 years ago
- last active 5 years ago
This might need to be two separate questions, but is there a way to select a point in a line series. or, can I style a pointMarker differently for each data point?
I would prefer to not have to do this with annotations.
- Mobile Developers asked 5 years ago
- last active 5 years ago
Hi SciChart team,
there is a working example that implement a Polar Chart type for iOS?
I was unable to find anything in the documentation. Only for WPF platform.
If not, there is a plan to support this kind of chart in next release of the library?
Thanks for the help.
- Samuele Scatena asked 4 years ago
- last active 4 years ago
I would like to format several lines differently while still scaling them all to the same YAxis. For example if one line needs to go out to 4 decimal places but then another does not need any decimal values at all i would like those formats to be represented in all of the tooltips with said formats.
- Clifford Bateman asked 5 years ago
I found the example for spline drawing, but it’s still missing the gradient brush that mountain series have, how can I add it? thanks
- jose solorzano asked 4 years ago
- last active 4 years ago
I’m updating from Xamarin iOS SciChart v2 to v3 and just hit the issue that i can not use a custom TickProvider because there is no overridable UpdateTicks method.
I could not find any TickProvider code in the v3 Examples so the docs are my only source:
https://www.scichart.com/documentation/ios/current/axis-ticks—tickprovider-and-deltacalculator-api.html
According to the docs, I should override SCINumericTickProvider or SCIDateTickProvider
class CustomNumericTickProvider: SCINumericTickProvider
{
public override void UpdateTicks(SCIDoubleValues minorTicks, SCIDoubleValues majorTicks)
{
//...
}
}
But there is no UpdateTicks method to override.
I tried to override the Update() method instead:
public override void Update()
{
Ticks.Clear();
Ticks.MajorTicks.Add(5);
//...
}
But that is just causing a freeze/crash at runtime.
It’s worth noting that it works well on Android because there is a UpdateTicks method to override.
What should I do?
- Wil O asked 4 years ago
- last active 4 years ago
Hi,
Is there any possible way to get axis value for a point in chart view? I use pan gesture to get the touch location and convert it to its context point but cannot find the value for that CGPoint.
Thanks,
Irmak
- Irmak Can Ozsut asked 8 years ago
- last active 8 years ago
Hello,
I am using SCI line chart for Android and iOS. How I can I add Multiple scales on the same graph for different lines?
Please do the needful.
- Piyushkumar asked 5 years ago
- last active 5 years ago
Hello!
Great work, thanks a lot for this framework!
Could you provide an example of animated inserting of a new point? My goal is to implement interpolation between previous retrieved and last point on the real-time line chart.
- Alexander Edunov asked 8 years ago
- last active 2 years ago
Trying to install SciChart.iOS NuGet package for Xamarin.iOS project results the following error:
Package SciChart.iOS 2.0.1.527 is not compatible with xamarinios10 (Xamarin.iOS,Version=v1.0). Package SciChart.iOS 2.0.1.527 supports: xamarinios (xamarin-ios,Version=v0.0)
Wondering what the heck is “xamarin-ios,Version=v0.0”? It must be xamarinios10. We’re considering to buy SciChart but right now our build server is stuck on this error. As a workaround, we raname xamarin-ios to xamarinios10 in the lib directory but this not an option for a cloud build server.
- rubs00 asked 7 years ago
- last active 7 years ago
I was testing my charts on a simulator and when I naved away and then back to the chart screen the Simulator’s chart was totally black screen; I could move the mouse over the points and the popouts would occur; and your license notice showed in the center of the chart. So it was almost like it thought all the drawing for the chart itself needed to be black on black.
It was always broken on the 2nd or later chart. Restarting the app fixed it. I tried removing all custom settings, and calling the invalidate; and nothing caused it to redraw correctly… Fortunately, when deploying to real devices everything worked correctly. Is this an expected side effect of testing on a simulator, or is their something that I can do to force a hard refresh of the chart…
FYI: The additional debug diagnostics don’t seem to do anything on a simulator, or at least I couldn’t find anywhere it was logged.
- Nathanael Anderson asked 4 years ago
- last active 4 years ago
Hello.
I have previously asked a question regarding Android and Xamarin (https://www.scichart.com/questions/android/legend-outside-of-chart-area).
Now, I have the same question, but for iOS. Do you have any examples available for taking chart legend outside of chart area on iOS?
Thank you and have a nice day!
Regards,
Paul.
- pauzu asked 5 years ago
I’m using Xamarin.iOS and the SciChart.iOS NuGet. When adding a LabelProvider
to an axis the iPhoneSimulator with iOS 13.2 crashes without warning or exception back to the phone menu. This issue is not present on Android using the same API usage pattern.
This effect is not just in my own apps but can be replicated by running the latest Examples app on the same simulator. Examples which demonstrate the same behaviour include “Custom Theme”, Stacked Column Side by Side Chart”, “Using Theme Manager”, all of which set the LabelProvider
in the source code.
Is this a known bug? Maybe an incompatibility with the latest version of Xamarin.iOS.
I noticed that this issue has been reported before.
This is a deal breaker for us at the moment as formatting axis labels is pretty crucial.
- Adrian Harwood asked 4 years ago
- last active 4 years ago
Hi,
I’ve encountered an issue with the candlestick graph I’ve drawn that consists of a set of random X date time values – this causes the candlesticks have varying distances from one another.
Rendering the data from an initial set seems to be fine but as I run a NSTimer to add on more points, the body of the new candlesticks seem to be 0. (Note, the date time values are still random but have been made to be set after the last placed point)
In fact, the initial data points that I added see to be rendered ‘body-less’ if it’s within the same visible range as the newly added points. And if I pan along the newly added points, the bodies of some data points will appear at random visible ranges.
Is this a normal behaviour or should I take anything else into consideration?
Here are a couple of my configurations which I think may have affected anything:
1. My XAxis has set its visible range limit mode to ClipMode_Min
2. Candlestick series style data body width is set to be default.
3. I have a the following modifiers set up.
self.xDragModifier = [SCIXAxisDragModifier new];
self.xDragModifier.axisId = @"xAxis";
self.xDragModifier.dragMode = SCIAxisDragMode_Pan;
self.xDragModifier.clipModeX = SCIZoomPanClipMode_ClipAtMin;
[self.xDragModifier setModifierName:@"XAxis DragModifier"];
self.pinchZoomModifier = [[SCIPinchZoomModifier alloc] init];
[self.pinchZoomModifier setModifierName:@"PinchZoom Modifier"];
self.pinchZoomModifier.xyDirection = SCIXYDirection_XDirection;
self.zoomPanModifier = [SCIZoomPanModifier new];
self.zoomPanModifier.clipModeX = SCIZoomPanClipMode_ClipAtMin;
self.zoomPanModifier.xyDirection = SCIXYDirection_XDirection;
[self.zoomPanModifier setModifierName:@"ZoomPan Modifier"];
SCIModifierGroup * gm = [[SCIModifierGroup alloc] initWithChildModifiers:@[self.xDragModifier, self.pinchZoomModifier, self.zoomPanModifier]];
self.chartSurface.chartModifier = gm;
The points are drawing just fine, but the body of the candlestick is not appearing as expected.
Thanks in advance.
- Elle Yeoh asked 8 years ago
- last active 7 years ago
Originally my chart would
– create the surface
– setup the chart modifiers
– setup the axis
– add the data (SCIFastLineRenderableSeries).
However, it appears that when you .add(new SCIFastLineRenderableSeries) it recreates all the tooltips on each add, and finally on the very last SCIFastLineRenderableSeries that is inserted will get two duplicate tooltips. This happens both with the default tooltips or custom tooltips.
I finally noticed that some of your examples you setup the modifiers at the end after adding the data. So I moved all the chart modifiers into a separate function and called it after the data is setup, and now the proper number of tooltips appears.
This might either need to be noted somewhere prominent in the iOS docs; or even better the order shouldn’t matter.
- Nathanael Anderson asked 4 years ago
- last active 4 years ago
Is there a way to provide custom text for the labels in a PieChartSegment? I want to format the text, but haven’t been able to find a label formatter for the pie charts.
- Mobile Developers asked 5 years ago
- last active 5 years ago
Hi,
i want to disable the pan effect when user long press on chart and allow the user to scroll only in the currently visible range to view the rollover tooltip so that user can see the reading in the current visible range. Once the long press is release, then enable the pan effect again.
Currently when user try to see the reading using rollover tooltip, the whole chart is moving. I have tried removing and adding the zoompanmodifier on long press gesture in ios. But it is not working.
Thank you in advance.
- Manoj Kulkarni asked 4 years ago
I am creating point data series using SCIXyScatterRenderableSeries.
I need to tap on specific data points and display pop over or some view on top of it. Pop over provides information regarding that point.
How can I implement that in iOS.
- Vikas Ahuja asked 5 years ago
- last active 4 years ago
We’re trying to make multiple legends on the screen, for example, 1 for the left axis and its data series, 1 for the right axis and its data series. I can see it’s possible in the WPF documentation, but in the iOS documentation it says “Coming soon!”. Do we need to wait for a future release of the Xamarin.iOS library or is it possible somehow now?
By the way, I’m not a trial user. We’ve just purchased a license today.
Thanks,
Lazar Nikolov
- Lazar Nikolov asked 6 years ago
- last active 5 years ago
I cannot get SCILinearGradientBrushStyle working on a donut chart. Only radial gradients work
Here is my code sample:
let segment = SCIPieSegment()
segment.fillStyle = SCILinearGradientBrushStyle(colorCodeStart: 0xff007aff, finish: 0x4D007aff, direction: .horizontal)
segment.value = 100.0
segment.title = "Segment"
donutSeries.segments.add(segment)
The segment just renders a flat color
- Ryan Chesla asked 5 years ago
- last active 4 years ago
I was doing a bit of thinking about how I would be adding a horizontal line to my financial data series because my x-axis was in Date format. So I wrote this walkthrough with 2 functions to help any devs that come along after me.
My example is a bar chart with prices on the vertical y-axis and dates on the x-axis. the final product is posted below as a pic. All that is needed is to count the items in your date data series and you can position your bar relative to that.
my dates were in this object array and I just counted the array to get my bearings.
let totalBars = lastPriceList.count // holds number of bars in my price object
let startBar = totalBars - 100 // this will make my line 100 bars long
let sellPrice = lastBar?.shortEntryPrice // here is the price level of the line I want to plot
then I passed that to this function to get a horizontal line
addTradeEntry(SignalLine: sellPrice!, StartBar: startBar, EndBar: totalBars)
here are the 2 functions that do all of the work
private func addTradeEntry(SignalLine: Double, StartBar: Int, EndBar: Int) {
let horizontalLine1 = SCIHorizontalLineAnnotation()
horizontalLine1.coordinateMode = .absolute;
// lower number pushes to left side of x axis
horizontalLine1.x1 = SCIGeneric(StartBar)
// higher number pushes bar right of x axis
horizontalLine1.x2 = SCIGeneric(EndBar)
// the position on y (price) axis
horizontalLine1.y1 = SCIGeneric(SignalLine)
horizontalLine1.horizontalAlignment = .center
horizontalLine1.isEditable = false
horizontalLine1.style.linePen = SCISolidPenStyle.init(color: UIColor.red, withThickness: 2.0)
horizontalLine1.add(self.buildLineTextLabel("Sell \(SignalLine)", alignment: .left, backColor: UIColor.clear, textColor: UIColor.red))
surface.annotations.add(horizontalLine1)
}
this one formats the text
private func buildLineTextLabel(_ text: String, alignment: SCILabelPlacement, backColor: UIColor, textColor: UIColor) -> SCILineAnnotationLabel {
let lineText = SCILineAnnotationLabel()
lineText.text = text
lineText.style.labelPlacement = alignment
lineText.style.backgroundColor = backColor
lineText.style.textStyle.color = textColor
return lineText
}
- Warren Hansen asked 7 years ago
- last active 7 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
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
I’m trying to render a column chart with multiple series. I want the two series to show side-by-side. See the reference image attachment for how I want it to look.
However, when I add a second series to a surface, the two series overlap and draw over each other, such that you can ‘t see some of the column data points.
Is there a way to draw multiple series that don’t overlap?
While I’m here, a have a couple of more questions:
• Is there a way to show more of the values on the time/date series X-axis . Notice in the SciChart column chart that is attached it shows every third value on the X-axis (Jan, April, July, October). It would be great if I could show every two, or all for each data point.
• For a time/date series X-axis, can I show a different representation of the time/date values? Specifically, I want to show, e.g.
Jan 17
rather than
01-2017
Presumably one would specify a different date formatter but I only see how to do variations of “MM-dd-yyy”. I want to show values as textual rather than numeric.
• Is there a way to extend the Y-axis to go higher?
In the SciChart column chart attachment, the Y-axis goes up to 100, but the values go higher. I would like to show the the Y-axis going up to 120.
• Is there a way to change the interval of the Y-axis?
Instead of showing every 20 values, can I show every 25 values?
Thanks.
- doughill asked 7 years ago
- last active 7 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