SciChart® the market leader in Fast WPF Charts, WPF 3D Charts, iOS Chart, Android Chart and JavaScript Chart Components

0 votes
25 views

RenderableSeries Hit-Test is not working as expected. Some bugs on the the RenderableSeries Hit-Test. Distance between two points are less then its working most of the time and getting the isHit variable getting true. But the distance is high then the lines near to the point only getting the isHit true. I am attaching the image when the red marked area is working fine and the blue marked area not working.

0 votes
23 views

Hello,

We have multiple sets of data that we’d like to display as a Stacked Column. The problem is that our data is jagged, meaning each series may not have a value for every value on the x-axis (it’s a time series by day).

Is there any way to present this data without having to merge all the x-values in every dataset? These a very large sets and it just does not seem to be efficient to do this.

Thanks!

Chris

0 votes
22 views

Hello,
I have a problem with the 3D surface chart. I have used the 3D example from the Example Tutorial as an example. As soon as I make xSize and ySize larger than 128, a gap appears in the respective axes.
Is it possible that these sizes are limited? Or have I made a mistake?

In the attachment you will find the resulting pictures.
The good one has an xSize and ySize of 128 and the bad one 129.

0 votes
47 views

Hello Scichart team,

it’s possible to rotate yAxis (and put them horizontally), and adding some break lines if I have more than 1 word? Like:

https://prnt.sc/117pk6f

Waiting for feedback.

Many thanks,

Pedro Cruz

  • Pedro Cruz asked 4 days ago
  • last active 10 hours ago
0 votes
58 views

i recently saw documentation about compositeannotation in wpf

do you have same version for android?
how to combine all annotation as one annotation?

0 votes
47 views

Can I use the 30 day trial version to run a newly built exe file from the “exported” Visual Studio solution files which then runs into the “Sorry! You need to have a license to use SciChart.” run-time error? How can I find and activate the 30 day license to avoid this run-time error?

0 votes
0 answers
62 views

My chart is dynamic, adding data from the right side all the time, and scrolling the chart to the left. Now the chart can manually scroll to the right indefinitely, but there are many blank areas on the right side. What can I do to limit the range of scrolling to the right? Is there any way to limit the zoom ratio to prohibit the chart from scrolling to the right indefinitely?

0 votes
87 views

My chart is dynamic, adding data from the right side all the time, and scrolling the chart to the left. Now the chart can manually scroll to the right indefinitely, but there are many blank areas on the right side. What can I do to limit the range of scrolling to the right? Is there any way to limit the zoom ratio to prohibit the chart from scrolling to the right indefinitely?

0 votes
120 views

I have a method that adds a marker line to my chart. The issue I have it that calling this method results in a non-blocking async call but in other code where I call this, I want to access the markers immediately after adding the marker. Is there a way to call Annotations.Add synchronously?

public void CreateNewMarker(DateTime markerDate, Color color)
{
try
{
MainChart.Annotations.Add(new VerticalLineAnnotation()
{
Stroke = new SolidColorBrush(color),
StrokeThickness = 1,
X1 = markerDate,
StrokeDashArray = new DoubleCollection(new List { 6, 3 }),
IsEditable = false
});
}
catch (Exception ex)
{
Tracing.TraceError(piuModule, className + “.CreateNewMarker()”, “Error during the CreateNewMarker() method”, ex);
}
}

Other Method
{
calls CreateNewMarker(0
Access new marker Annotations by index, MainChart.Annotations[markerIndex].X1

}

0 votes
126 views

Hi, I just want to make sure

everything inside com.scichart.charting.visual will be considered as VIEW in MVVM pattern right?

thanks

0 votes
146 views

In Scichart Android version 4.2.0.4557, ICategoryLabelProvider.transformDataToIndex(Date var1); accept date as parameter

but at version 4.2.0.4608, int transformDataToIndex(double var1); it accept double?

then how to convert date to double?

and another question.

  1. how set start tick axis in category date axis?
    what i see here first tick of x axis always come with data, not like date axis which data can adapt their position itself.

  2. how to set time frame in date axis like category date axis?

  3. without scichart builder i cannot set time frame in categorydateaxis

0 votes
136 views

I have a 3D chart where we are loading .obj files. If I set the opacity on the element in Xaml it works. However, we want to be able to adjust the opacity with a slider. When we bind the opacity to the value of the slider the opacity does not change. Is there something else we need to do to get the opacity to change when the slider value changes? The slider has a minimum of 0 and a maximum of 1.

<s3D:SciChart3DSurface x:Name="ThreeDChart"
                           IsAxisCubeVisible="False"
                           IsFpsCounterVisible="False"
                           IsXyzGizmoVisible="True"
                           ShowLicensingWarnings="False">
<s3D:SciChart3DSurface.XAxis>
    <s3D:NumericAxis3D />
</s3D:SciChart3DSurface.XAxis>
<s3D:SciChart3DSurface.YAxis>
    <s3D:NumericAxis3D />
</s3D:SciChart3DSurface.YAxis>
<s3D:SciChart3DSurface.ZAxis>
    <s3D:NumericAxis3D />
</s3D:SciChart3DSurface.ZAxis>
<s3D:SciChart3DSurface.SceneObjects>
    <object:ObjectModel3D x:Name="BrainMesh"
                          CoordinateMode="Relative"
                          Opacity="{Binding BrainOpacity}"
                          Position="0.5, 0.5, 0.5"
                          Scale="5, 5, 5"
                          Source="{StaticResource Brain}" />
</s3D:SciChart3DSurface.SceneObjects>
<s3D:SciChart3DSurface.ChartModifier>
    <s3D:ModifierGroup3D>
        <s3D:OrbitModifier3D />
        <s3D:ZoomExtentsModifier3D />
    </s3D:ModifierGroup3D>
</s3D:SciChart3DSurface.ChartModifier>

Thank you!

0 votes
130 views

I’m evaluating chart libraries to my next project and I’m trying to do a simple chart like the one in the attached image.
It was actually very easy to do it using MPAndroidChart, however it’s been hard to do a simple task like put a label aligned with the column… I did take a look into the SciChart sample application, but the application just uses numeric labels…
Can someone provide some guidance of how to do this?

0 votes
106 views

I want to apply a Style that has removed the horizontal lines of the CursorModifier.

private void ExecuteLoadedCommand(StackGraphViewer parameter)
    {
        if (root == null) root = parameter;

        root.sciChart.ViewportManager = _scrollManager;

        // Remove CrosshairsHorizLine
        root.sciChart.MouseMove += RemoveCrosshairsHorizLine;
    }

    private void RemoveCrosshairsHorizLine(object sender, MouseEventArgs e)
    {
        Line crosshairsHorizLine = root.sciChart.ModifierSurface.Children.OfType<Line>().FirstOrDefault(line => line.X1.CompareTo(0d) == 0);
        if (root.sciChart.ModifierSurface.Children.Contains(crosshairsHorizLine))
        {
            root.sciChart.ModifierSurface.Children.Remove(crosshairsHorizLine);
            root.sciChart.MouseMove -= RemoveCrosshairsHorizLine;
        }
    }

I want to solve it in View XAML, not ViewModel Code.

What should I do?

0 votes
102 views

I want to express a different graph according to the state of the button.

<s:SciChartSurface.Style>
            <Style TargetType="s:SciChartSurface">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Path=IsEnabled, ElementName=swStack}" Value="True">
                        <Setter Property="YAxes" Value="{Binding StackYAxisList}"/>
                        <Setter Property="RenderableSeries" Value="{s:SeriesBinding StackRenderableSeriesList}"/>
                    </DataTrigger>
                    <DataTrigger Binding="{Binding Path=IsEnabled, ElementName=swStack}" Value="False">
                        <Setter Property="YAxes" Value="{Binding TotalYAxisList}"/>
                        <Setter Property="RenderableSeries" Value="{s:SeriesBinding TotalRenderableSeriesList}"/>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </s:SciChartSurface.Style>

I get an error saying that s:SeriesBinding is not supported.

What should I do?

0 votes
164 views

I am using an old version of Scichart 4.1.1.8645.

Mainly I have no issue but I need an advice .

I am rendering scatter series and heatmap series and I don’t want to face performance issues. So as far as I knew I am able to render unsorted data , but internally does the Scichart do any sorting algorithm for this data ? by mean does Scichart order the data internally in anyway?

Since I am afraid to lose time when having millions of records to be rendered in realtime.
And do you suggest to sort the data before sending it to Scichart and how may this help us? because I am rendering single point and I don’t get it why do I need to sort the data for better performance ?

in addition , if you are sorting inside your library is there anyway to skip these sorting algorithms?
I appreciate if you can explain !

Thank you in advance

0 votes
111 views

Hi

I have multiple SciChartSurfaces aligned using the HorizontalGroupHelper. I also need to have multiple y-axes in the charts. I was hoping to use set the margin on each y-axis, but when I do, the upper axis is drawn outside the window. Is there a work-around?

Example.

<Window x:Class="ScichartTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:s="http://schemas.abtsoftware.co.uk/scichart"
Title="MainWindow"
Width="800"
Height="450">

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>

    <!--  Chart left  -->
    <s:SciChartSurface s:HorizontalGroupHelper.HorizontalChartGroup="group">

        <s:SciChartSurface.XAxis>
            <s:NumericAxis
                AxisAlignment="Left"
                AxisTitle="x" />
        </s:SciChartSurface.XAxis>

        <s:SciChartSurface.YAxes>
            <s:NumericAxis
                Margin="0,0,0,12"
                AxisAlignment="Top"
                AxisTitle="Left y1"
                Id="LeftY1" />
            <s:NumericAxis
                Margin="0,0,0,12"
                AxisAlignment="Top"
                AxisTitle="Left y2"
                Id="Lefty2" />
            <s:NumericAxis
                Margin="0,0,0,12"
                AxisAlignment="Top"
                AxisTitle="Left y3"
                Id="LeftY3" />
        </s:SciChartSurface.YAxes>

    </s:SciChartSurface>

    <!--  Chart right  -->
    <s:SciChartSurface
        Grid.Column="1"
        s:HorizontalGroupHelper.HorizontalChartGroup="group">

        <s:SciChartSurface.XAxis>
            <s:NumericAxis
                AxisAlignment="Left"
                AxisTitle="x" />
        </s:SciChartSurface.XAxis>

        <s:SciChartSurface.YAxes>
            <s:NumericAxis
                AxisAlignment="Top"
                AxisTitle="Right y1"
                Id="RightY1" />
        </s:SciChartSurface.YAxes>

    </s:SciChartSurface>

</Grid>

enter image description here

0 votes
0 answers
115 views

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.

0 votes
206 views

.Net 6 MAUI preview has been released, so may i know scichart support MAUI ?
Can we use Xmarin charts directly to MAUI app ?

Can you provide some examples for MAUI ?

  • Abhilash R asked 3 weeks ago
  • last active 3 weeks ago
0 votes
148 views

I have added a real time value legend to my chart. This is working well, based upon examples I have found here at the forum and in the SciChart documentation.

My question is this:
How can I position this new legend (includes series color, series name and series YValue ) so that it is in relation to a single or multiple Y axis’s displayed. In other words I like it to positions itself in relation to the YAxis so it does not overwrite it, and stays on the plotting area.

Appreciate the help
Thank you
Anders

0 votes
146 views

We’re developing an extra web based front end for what was until now a monolithic WPF .Net 4.72 application and want to add a small service that we can host a REST API, that when given a GUID, can render the data into a scichart exported bitmap.

My plan was to use ASP.NET core to do this as the rest of web application will be done using this, but although I can install the scichart package, I can’t find a way to reference the Presentation Core dlls (needed for amongst other things the colors and content control stuff).

The project sdk is Microsoft.NET.Sdk.Web, but I can’t figure out how to do this.

1 vote
0 answers
159 views

I am getting the alert message on our application and now I got the same message on the https://demo.scichart.com/javascript-line-chart also. It’s not happening all the time. But it’s happening sometimes only on the application.

1 vote
185 views

SciChart is creating too much garbage objects/events* instead of reusing through pools (Analysis through dotMemory shows this). In complex applications this additional gc-pressure causes frequent lockups. (GC Pauses in 50-250ms+ range).

Top backtraces for GC-Problem:
– WeakEventTable.Purge
– Tick Rendering (TimeSpan, Strings)
– ProperyChangedEventManager.Purge

Top Types:
– WeakEventTable+EventKey
– HybridDictionary
– Double, String, TimeSpan
– Action

All of these top types/backtraces result directly from SciChart as we cross-verified with your 2D-Chart-Realtime-Series demo and by omitting the SciChart controls from our application. ( 2/3 of the total memory pressure comes from SciChart with even just 2 charts being present in our application, we see 5MB garbage memory traffic per 2 second, resulting in very frequent GC collections sporadically spiking into a high duration)

We currently use SciChart WPF V5, it seems SciChart WPF V6 Demo didnt fix this instead just using the LowLatency GC mode causing more frequent GC-collections causing worse overall performance in complex applications. (as we verfied in our application)

Is there plans to increase memory/object reuse/pooling and reduce events/actions? (70k allocations of events/actions for short time spans arent really understandable). What are those 70k events for simply rendering a chart with not much changing, see the attached image.

What settings/methods do you recommend to lower the Memory Pressure/WeakEvents resulting from SciChart usage?

What is the best rendering method to minimize GC pressure, we only require updates if new data becomes available through our application. Would it be manual?

Please comment

Thank you

0 votes
142 views

Hello,
I want to create a heatmap sync with a CandlestickRenderableSeries which using DiscontinuousDateTimeAxis, is it possible to make heatmap column align with ohlc point?

  • ZHOU HANG asked 4 weeks ago
  • last active 4 weeks ago
1 vote
163 views

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?

0 votes
202 views

Good day. I’m trying to add a panning functionality in a 3D plot using WPF. How can I achieve this?

0 votes
186 views

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.

0 votes
147 views

Hello,

I use a Scrollbar/Surface combination to have an overview over several RenderSeries. Since I need individual scaling on each Series I also add 1 YAxis per Renderseries

The problem is that (even when disabling everything drawing related to an axis) adding an axis adds 2 px of white space where the axis would be.

In the attached image you can see an example with 15 axes added.

Here’s the code adding the RenderSeries and the axis (we already tried so many things to make the whitespace disappear as you can see in “createNewAxis”):

public void AddSciRenderSeries(FastLineRenderableSeries renderableSeries)
{
    if (OverviewChartSurface.RenderableSeries.Contains(renderableSeries))
        return;

    OverviewChartSurface.YAxes.Add(createNewAxis(renderableSeries.YAxisId));
    OverviewChartSurface.RenderableSeries.Add(renderableSeries);
    OverviewChartSurface.ZoomExtents();
}

private NumericAxis createNewAxis(string channelId)
{
    NumericAxis scrollerYAxis1 = new NumericAxis();
    scrollerYAxis1.AutoRange = SciChart.Charting.Visuals.Axes.AutoRange.Always;

    scrollerYAxis1.DrawMajorBands = false;
    scrollerYAxis1.DrawMajorGridLines = false;
    scrollerYAxis1.DrawMajorTicks = false;
    scrollerYAxis1.DrawMinorGridLines = false;
    scrollerYAxis1.DrawMinorTicks = false;
    scrollerYAxis1.DrawLabels = false;

    scrollerYAxis1.BorderBrush = Brushes.Red;
    scrollerYAxis1.FontSize = 0.1;
    Trace.WriteLine("AxisOffset: " + scrollerYAxis1.GetAxisOffset());
    scrollerYAxis1.Padding = new Thickness(0);
    scrollerYAxis1.Margin = new Thickness(0);
    scrollerYAxis1.BorderThickness = new Thickness(0);
    scrollerYAxis1.Id = channelId;

    return scrollerYAxis1;
}

What shall we do to remove the gap on the right?

Thanks for your help!

1 vote
172 views

Hi, I wanted to make a multiple Y-Axis scale with multiple series plot into their respective Y scale. Like this,

Series A plot to 1st Y-axis Scale
Series B plot to 2nd Y-axis Scale
Series C plot to 3rd Y-axis Scale
Series D plot to 4th Y-axis Scale

and all those series are not overlapping each other. I want to do like the picture attached but with the series are not overlapping to each other.

0 votes
0 answers
169 views

I’m able to style the AxisLabelContainerStyle and AxisLabelTemplate for my TimeSpanAxis but it doesn’t seem to be working for my NumericAxes/NumericAxisViewModels. Attached is a photo showing the styled TimeSpanAxis (cyan) and the default NumericAxis (green).

Here are the templates:

<Style TargetType="{x:Type sci:AxisLabelControl}" x:Key="CursorAxisLabelStyle">
        <Setter Property="Background" Value="Black" />
    </Style>
    <DataTemplate DataType="{x:Type sci:AxisInfo}" x:Key="CursorNumericAxisLabelTemplate">
        <Border BorderBrush="DarkCyan" BorderThickness="1">
            <TextBlock Foreground="Cyan" Margin="2" Text="{Binding DataValue, StringFormat={}{0:0.0}}" />
        </Border>
    </DataTemplate>
    <DataTemplate DataType="{x:Type sci:AxisInfo}" x:Key="CursorTimeSpanAxisLabelTemplate">
        <Border BorderBrush="DarkCyan" BorderThickness="1">
            <TextBlock Foreground="Cyan" Margin="2" Text="{Binding DataValue, StringFormat={}{0:hh}:{0:mm}:{0:ss}}" />
        </Border>
    </DataTemplate>

Here are the styles for the axes:

<Style TargetType="{x:Type sci:NumericAxis}">
        <Setter Property="sci:CursorModifier.AxisLabelContainerStyle" Value="{StaticResource ResourceKey=CursorAxisLabelStyle}" />
        <Setter Property="sci:CursorModifier.AxisLabelTemplate" Value="{StaticResource ResourceKey=CursorNumericAxisLabelTemplate}" />
    </Style>
    <Style TargetType="{x:Type sci:TimeSpanAxis}">
        <Setter Property="sci:CursorModifier.AxisLabelContainerStyle" Value="{StaticResource ResourceKey=CursorAxisLabelStyle}" />
        <Setter Property="sci:CursorModifier.AxisLabelTemplate" Value="{StaticResource ResourceKey=CursorTimeSpanAxisLabelTemplate}" />
    </Style>

I will note that I’m binding my YAxes to an ObservableCollection because throws a binding error. But I’ve also tried using {x:Type sci:NumericAxisViewModel} which doesn’t work because it doesn’t derive from “FrameworkElement” and <x:Type sci:NumericAxisForMvvm} doesn’t style either.

I’m just not sure how to best make the NumericAxes styled.

Thanks!

1 vote
199 views

Hi,

In past versions of SciChart JS I was able to run a webpack-built set of static files on an Nginx-based Docker container without issues.

I’m now seeing the error “memory access out of bounds” (screenshot attached) when doing this, and as a result does not render the charts at all, whether it’s running locally or hosted on AWS. This happens in both Chrome and Firefox.

It runs absolutely fine using webpack dev server.

The error seems to be coming from scichart2d.wasm. Any ideas?

Thanks
Joe

  • Joe Brady asked 1 month ago
  • last active 1 month ago
0 votes
176 views

Hello,

I am having some difficulties using a custom DateTickProvider.

I am trying to offset the values to “anchor” the chart to specific local time (see original question at “https://www.scichart.com/questions/android/axis-value-anchor” for details)

class CustomDateTickProvider() : DateTickProvider() {
    override fun updateTicks(minorTicks: DoubleValues, majorTicks: DoubleValues) {
        // super appears to sometimes recalc based on GMT, and sometimes provide offsets from my previous offsets.
        super.updateTicks(minorTicks, majorTicks) 

       // My offset code here, assumes tick values are GMT based...
    }
}

My code usually works, but sometimes it doesn’t. It appears that when I call super.UpdateTicks(..), it usually generates new ticks based on GMT, but sometimes it simply provides a small offset (like when I pan) based on existing tick values. Is that correct?

Is there a way for me to Force updateTicks to always recalculate based on GMT, or a way for me to tell if updateTicks is recalculating based off GMT or just doing offsets on the existing tick marks?

Or should I be going at this in a different direction?

Thank you.

  • C Bolton asked 1 month ago
  • last active 1 month ago
1 vote
211 views

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?

1 vote
203 views

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.

1 vote
208 views

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()
            }
0 votes
177 views
0 votes
151 views

pointMarker max and min values marker are cropped when autoRange is enabled. Check the attached image.

0 votes
145 views

Hello again,

Pardon me if I’m missing something obvious, but I am trying to center align a multiline tick label. I want both lines of the label to be centered. By default they seem to be left-justified. See attached image of current behavior.

xAxis = DateAxis(this)
xAxis.textFormatting = "h:mma\nMMM d" 

Thank you.

  • C Bolton asked 1 month ago
  • last active 1 month ago
0 votes
187 views

I was looking over Tutorial 07 – Tooltips and Legends and the Chart Legends API demo, and noticed that the checkboxes and legend font had some styling applied. But, when I implement a legend on my own it uses the default font (or whatever global font style I used) and the default HTML checkbox styling. I was wondering if you had modified the styling using an outside CSS file, if there is an API endpoint for modifying the styling of the legend, or if this is possibly a bug. I did see that there was an applyTheme() method available, but I thought that it might not apply to this situation. I also tried to look through the example code provided for the Chart API Demo, but I couldn’t find anything that pointed one way or the other.

I have attached screenshots of what the legend looks like in the two examples, as well as a screenshot of what the legend looks like when I implement it on my own. I have also included a zip file with the demo application I created.

Thanks,
Drew

0 votes
223 views

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:

  1. unable to load standard library for target arm-64-apple-ios9.0
  2. 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?

0 votes
184 views

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.

0 votes
251 views

Do scichart supports microsoft blazor ?
If yes, Any examples available ?

  • Abhilash R asked 2 months ago
  • last active 2 months ago
0 votes
180 views

I’m not sure if I’m understanding the Axes minorsPerMajor behavior correctly, or if this is a Scichart issue.

Using a “vanilla” axis like:

xAxis = DateAxis(this)
xAxis.drawMajorGridLines = false
xAxis.drawMinorGridLines = false
xAxis.drawMajorTicks = true
xAxis.drawMinorTicks = false
xAxis.textFormatting = "h:mma\nMMM d"
xAxis.subDayTextFormatting = "h:mma\nMMM d"
xAxis.minorsPerMajor = 1 // does not change # minor ticks no matter what it is set at, if drawMinorTicks = true
val xAxes: AxisCollection = chartSurface.getXAxes()
xAxes.add(xAxis)

If I set drawMinorTicks=false, I get no minor ticks, as expected. However, if I set it to true, I always get a bunch of ticks, no matter what I set minorsPerMajor to. I want just 1 mnor tick between majors. I’ve attached screenshots of the axis with drawMinorTicks set to both true and false using the above code.

Thanks for your assistance.

  • C Bolton asked 2 months ago
  • last active 2 months ago
0 votes
222 views

paletteProvider transparent colour is not working.

I tried with parseColorToUIntArgb(“#ffffff00”) and parseColorToUIntArgb(“#ffffff00”, 0) to replace the colour with transparent. But its not working.

I want ho hide the marker on the chart if the value is less than a limit. Is any other possibility to hide the marker based on value?
can you check the image, i want to show only the yellow marker.
one more error i am getting from typescript
“Type ‘undefined’ is not assignable to type ‘TPointMarkerArgb'”.

0 votes
189 views

If the y axis values are same then the lines are not visible on the chart and the labels are also not visible on the chart. Can you draw the lines on the middle of the chart to get more visible?

async initTrack() {
  const { wasmContext, sciChartSurface } = await SciChartSurface.create(
    "chart" + this.element
  );
  sciChartSurface.xAxes.add(
    new NumericAxis(wasmContext, { axisAlignment: EAxisAlignment.Top })
  );
  sciChartSurface.yAxes.add(
    new NumericAxis(wasmContext, {
      axisAlignment: EAxisAlignment.Left
    })
  );

  const dataSeries = new XyDataSeries(wasmContext);
  for (let i = 0; i <= 1000; i++) {
    dataSeries.append(i, 10);
  }

  const rendSeries = new FastLineRenderableSeries(wasmContext, {
    dataSeries: dataSeries,
    strokeThickness: 1,
    stroke: "red"
  });
  sciChartSurface.renderableSeries.add(rendSeries);
  sciChartSurface.chartModifiers.add(cursorModifier);

  return { wasmContext, sciChartSurface };
}
0 votes
200 views

Hi,
Im tried to convert date into xAxis using this tutorial

https://www.scichart.com/documentation/android/current/webframe.html#Axis%20APIs%20-%20Convert%20Pixel%20to%20Data%20Coordinates.html

but i got this error

Java.lang.RuntimeException: Unable to start activity ComponentInfo{}: java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.Object com.scichart.data.numerics.math.IMath.fromDouble(double)' on a null object reference

here my code

https://gist.github.com/ngiyus/4590c009261a28dba2c8b10e123a97f3

0 votes
0 answers
273 views

I am tryng to use ScichartScrollbar,and in trouble.

When view port range is beyond data binded with scrollbar and center of the scrollbar is clicked,data jumps horizontally.
please refer to the Picture below.
I used official sample program named SciChart_PerAxisScrollbar in the picture.
How can I stop this and scroll seamlessly?

0 votes
249 views

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`

0 votes
0 answers
184 views

Hi SciChart,

using the default RolloverModifier with CandleStick Charts will add a white circle at the candle’s close position. Is it possible to change this position to the high/low value of this candle? I’ve tried with a derived RolloverModifier and found the AttachRolloverMarker function to override. But I’ve absolutely no idea how to proceed from there on.

Any help is greatly appreciated.

Thanks,

René

0 votes
0 answers
231 views

Hello,

I’m using the recommended function well, thank you.
By the way, can I control the shade shown in the picture?
What I want is not detailed but simple functions such as light On, Off, Up, Down.

Best regards

Showing 1 - 50 of 3k results