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

0 votes
0 answers
28 views

Hi,

I am having an issue with the SciChart graphs. I have attached an image – SciChartIssue.png, here which shows the issue. Our SciChart graph contains 8 channels of dataseries for EEG / EMG signals. By default the first channel is selected. When we select/deselect additional channels, they start showing up on the graph accordingly. The issue happens when a channel is de-selected. i.e. when any channel is de-selected, we are clearing that particular channel dataseries, while the other series is being appended and rendered using SuspendUpdates(). But on the graph, the waveform tends to move towards the extreme end of the chart (as seen from the image attached). we were initially using version 5.4 of Scichart. but i later updated it to v6.3, but still have the same issue.
If you are aware or have come across such an issue, then I would appreciate any help or advice from you. Since this is a vast and secure project, I am not able to share the entire code with you at this moment. However, I have attached a xaml & .cs file used to render the graph, If it helps.

Thanks!

0 votes
28 views

Hi sir,

We would like to build a real time updated stackedcolumn chart in mvvm mode.
Is that possible? (x-axis on the left side)(y-axis on the bottom side which can keep update with only 10mins range)

I wonder can I use the StackedColumnRenderableSeriesForMvvm?
I found out this control but have no idea how to use it…

  • Wade Yao asked 2 days ago
  • last active 1 day ago
0 votes
0 answers
30 views

Hello.
I added the data to each BoxPlotDataSeriesas shown in the code below.
Boxplot widths are not the same as the image below.
Please let me know can we change the size of the box plot chart.

IEnumerable<BoxPoint> boxData = GetBoxPlotData().ToArray();

RenderableSeriesViewModels = new ObservableCollection<IRenderableSeriesViewModel>();
foreach (var data in boxData)
{
    var boxDataSeries = new BoxPlotDataSeries<double, double>();
    boxDataSeries.Append(data.XValue, data.Median, data.Minimum, data.LowerQuartile, data.UpperQuartile, data.Maximum);

    var boxplotViewModel = new BoxPlotRenderableSeriesViewModel { DataSeries = boxDataSeries };
    RenderableSeriesViewModels.Add(boxplotViewModel);
}

Same issue : https://www.scichart.com/questions/wpf/box-plot-width-setting

  • Isol Gwon asked 4 days ago
  • last active 3 days ago
0 votes
0 answers
43 views

Good afternoon,

I wanted to synchronize the mouse events between graphs, but based on the value of the X axis, not on the position within the graph. In the photo attached below, it is seen that the mouse events are synchronized, and the rollover appears in both graphs. However, what I want is that if, for example, in the graph on the left, the mouse is at time 00: 15: 00.000, in the graph on the right, the rollover also appears at position X 00: 15: 00.000, regardless the width of each graph. Until now I have not been able to get it, as seen when on the left it is at the time 00: 22: 37.00 on the right it appears at the point 00: 10: 23.750.

I would need a way to achieve this with code behind, since I create the graphics programmatically and without MVVM.

As extra information, all charts have the same range of X axis values (they all go from the same start time to the same end time)

Thanks a lot!

0 votes
63 views

Hi
I’m trying to use AvaloniaUI with .NET Core 3.1 to create an application using SciChart, but I get XAMLIL error when trying to add a SciChartSurface following the code from the tutorial. I used a standard Avalonia MVVM Application template when creating the project.

This is the code:

<UserControl xmlns="https://github.com/avaloniaui"
             xmlns:s="http://schemas.abtsoftware.co.uk/scichart"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
             x:Class="FF_DataVis_Avalonia_MVVM.Views.TabControlView">

    <Grid>
        <!-- Bind to ChartViewModel.ChartTitle etc -->
        <s:SciChartSurface ChartTitle="{Binding ChartTitle}">
            <s:SciChartSurface.XAxis>
                <s:NumericAxis AxisTitle="{Binding XAxisTitle}"/>
            </s:SciChartSurface.XAxis>
            <s:SciChartSurface.YAxis>
                <s:NumericAxis AxisTitle="{Binding YAxisTitle}"/>
            </s:SciChartSurface.YAxis>
        </s:SciChartSurface>
    </Grid>
</UserControl>

And the error I get is:
“XAMLIL: Unable to resolve type SciChartSurface from namespace http://schemas.abtsoftware.co.uk/scichart Line 27, position 4″
which is the first s:SciChartSurface entry.

Any ideas what might be wrong? Does SciChart not work with any framework regardless of using .NET Core 3.0?
I have tried changing between Core 3.0 and 3.1, which does nothing.

0 votes
0 answers
91 views

I’m using a candlestick series in a slightly unconventional use case, essentially to show a range at a given data point, screenshot below.
enter image description here

This works fine if the number of the data points and window size stays the same, but if I resize the window, the bars shrink accordingly, which I want to avoid.
enter image description here

So basically what I need is some kind of rendering mode that takes in a pixel width for the bars.
I’ve attempted to update the DataPointWidth on the series using a combination of the screen width and the number of points, but it’s extremely messy since the change needed isn’t linear.
enter image description here

0 votes
128 views

Hi,

I have several vertical line annotations placed on my chart.


(1.) id=9136 at location 1229.8065
(2.) id=8572 at location 1230.0483
(3.) id=8570 at location 1230.1089

At a certain level, the annotations are at the good locations. Before 1230 for (1.) and after, for both next (see image GoodLocation.png).
If I zoom out, (1.)(2.)(3.) labels are shifted to the right (see WrongLocation.png) and the tooltip on (1.) correspond at tooltip (2.)

Can you help me?
In advance thank you for your support

0 votes
105 views

Hello,

Is it possible to display distinct labels for Y, and Y1 on BandRenderableSeriesViewModel using RollerOverModifier?

I have tried using following code snippet for RolloverModifier.TooltipTemplate, additionally tried using TooltipContainerStyle with a custom template. With these, same tooltip appears on both the lines. Is it possible to
1- Either display tooltip on only one line (e.g. on the red line), and point markers on both lines.
2- Or display a single label with current point markers’s value on each line i.e. Y on Red, and Y1 on green?
3- Set point marker colors to same as line’s as circled on the screenshot?

<DataTemplate x:Key="BandTooltipTemplate" DataType="s:XyySeriesInfo">
    <StackPanel Orientation="Vertical">
        <TextBlock Foreground="White">
            <Run Text="Series: "/>
            <Run Text="{Binding SeriesName, StringFormat='{}{0}:', Mode=OneWay}"/>
        </TextBlock>
        <TextBlock Foreground="White">
            <Run Text="Top: "/>
            <Run Text="{Binding FormattedYValue, Mode=OneWay}"/>
        </TextBlock>
        <TextBlock Foreground="White">
            <Run Text="Bottom: "/>
            <Run Text="{Binding FormattedY1Value, Mode=OneWay}"/>
        </TextBlock>
    </StackPanel>
</DataTemplate>

Existing result screenshot attached.

Thanks, Roger.

0 votes
98 views

Is it possible to vary the zsize and xsize of a WaterfallDataSeries3D series at runtime?

0 votes
119 views

Hi there,

I need to display a horizontal column chart so I followed the example for rotating charts:

<s:NumericAxis BorderBrush="Black" BorderThickness="1,0,0,0" x:Name="xAxis" AxisAlignment="Left" Margin="0,20"/>
<s:NumericAxis BorderBrush="Black" BorderThickness="0,0,0,1" AxisAlignment="Top"  FlipCoordinates="True" x:Name="yAxis"  />

And it works as expected.
Now the Problem: I want to be able to move my x-Axis to any given value. For “normal”(y-axis vertical and x-axis horizontal) I use the shifted axis example, but for that to work the axis need to be center axis (or am I missing something?) and with center axis set to true the entire thing looks like in the picture I attached.

Any help would be appreciated.
Thanks in advance.

0 votes
0 answers
94 views

I want show min and max only. for y axis.
how to succeed this problem.
Please support my problem. thank you. sorry my english.

0 votes
145 views

Would there be a straight-forward way to put the SciChart Legend from a LegendModifier inside a WPF Expander control, to show or hide the legend?

Would ScichartSurface need to be subclassed in order to accomplish this visual?

<s:LegendModifier ShowLegend="{Binding ShowLegend}" 
    Orientation="Vertical" 
    VerticalAlignment="Center" 
    HorizontalAlignment="Left"
    LegendPlacement ="Right"/>
0 votes
129 views

Hey Guys,

On a SciChart surface (CandleStickChart), how could I add LineAnnotation, BoxAnnotation, and TextBox annotation using TradingAnnotationCreationModifierMvvm (available under
ChartAnnotations/Trade Annotations sample). I have recreated a sample, based on the example.

Following is my XAML code,

Chart Surface: Modifiers.

<s:TradingAnnotationCreationModifierMvvm AnnotationViewModelType="{Binding DataContext.AnnotationCreationVM.AnnotationType, Source={StaticResource ROOT_OHLC_CHART_SPY}}"
                                                         AnnotationViewModelsCollection="{Binding LAnnotations}"
                                                         IsEnabled="{Binding DataContext.AnnotationCreationVM.IsAnnotationCreationEnable, Source={StaticResource ROOT_OHLC_CHART_SPY}, Mode=TwoWay}"
                                                         ReceiveHandledEvents="True">
                            <i:Interaction.Behaviors>
                                <ext:EventToCommandBehavior Command="{Binding DataContext.AnnotationCreationVM.AnnotationCreatedCommand, Source={StaticResource ROOT_OHLC_CHART_SPY}}"
                                                    Event="AnnotationCreated"
                                                    PassArguments="True" />
                            </i:Interaction.Behaviors>
                        </s:TradingAnnotationCreationModifierMvvm>

ParentView Buttons,

<ToggleButton Width="Auto" HorizontalAlignment="Stretch" Content="Line" 
                                  Style="{StaticResource ChartToggleButton}" 
                                  IsChecked="{Binding AnnotationCreationVM.Line}" 
                                  CommandParameter="{x:Type s:LineAnnotationViewModel}"/>
                    <ToggleButton Width="Auto" HorizontalAlignment="Stretch" Content="Elliot Wave"  Grid.Row="1"
                                  Style="{StaticResource ChartToggleButton}" 
                                  IsChecked="{Binding AnnotationCreationVM.EllioteWave}" 
                                  CommandParameter="{x:Type dt:ElliotWaveAnnotationViewModel}"/>
                    <ToggleButton Width="Auto" HorizontalAlignment="Stretch" Content="Pitch Fork" Grid.Row="2" 
                                  Style="{StaticResource ChartToggleButton}" 
                                  IsChecked="{Binding AnnotationCreationVM.PitchFork}" 
                                  CommandParameter="{x:Type dt:PitchforkAnnotationViewModel}"/>
                    <ToggleButton Width="Auto" HorizontalAlignment="Stretch" Content="Xabcd" Grid.Row="3" 
                                  Style="{StaticResource ChartToggleButton}" 
                                  IsChecked="{Binding AnnotationCreationVM.Xabcd}" 
                                  CommandParameter="{x:Type dt:XabcdAnnotationViewModel}"/>
                    <ToggleButton Width="Auto" HorizontalAlignment="Stretch" Content="Head N Shoulders" Grid.Row="4" 
                                  Style="{StaticResource ChartToggleButton}" 
                                  IsChecked="{Binding AnnotationCreationVM.Hns}" 
                                  CommandParameter="{x:Type dt:HeadAndShouldersAnnotationViewModel}"/>
                    <ToggleButton Width="Auto" HorizontalAlignment="Stretch" Content="Fibonacci Extension" Grid.Row="5" 
                                  Style="{StaticResource ChartToggleButton}" 
                                  IsChecked="{Binding AnnotationCreationVM.FibExt}" 
                                  CommandParameter="{x:Type dt:FibonacciExtensionAnnotationViewModel}"/>
                    <ToggleButton Width="Auto" HorizontalAlignment="Stretch" Content="Fibonacci Retracement" Grid.Row="6"
                                  Style="{StaticResource ChartToggleButton}" 
                                  IsChecked="{Binding AnnotationCreationVM.FibRetr}" 
                                  CommandParameter="{x:Type dt:FibonacciRetracementAnnotationViewModel}"/>

ParentView view model,

public ICommand AnnotationCreatedCommand => new ActionCommand<AnnotationCreationMVVMArgs>(e =>
    {
        try
        {
            var annotation = e.NewAnnotationViewModel;
            if (annotation != null)
            {
                if (annotation is ITradingAnnotationViewModel tradingAnnotation)
                {
                    ((AnnotationBase)tradingAnnotation.Annotation).Selected += OnAnnotationSelectionChanged;
                    ((AnnotationBase)tradingAnnotation.Annotation).Unselected += OnAnnotationSelectionChanged;
                }
                annotation.IsEditable = true;
                annotation.CanEditText = true;
                annotation.IsSelected = true;

                FibRetr = false;
                FibExt = false;
                Hns = false;
                Xabcd = false;
                PitchFork = false;
                EllioteWave = false;
                Line = false;
            }

            IsAnnotationCreationEnable = false;
            IsAnnotationDrawn = false;

            OnPropertyChanged("IsAnnotationDrawn");
        }
        catch { }
    });

    private void OnAnnotationSelectionChanged(object sender, EventArgs eventArgs)
    {            
        try
        {
            var parent = ((System.Windows.FrameworkElement)((System.Windows.FrameworkElement)sender).Parent).TemplatedParent;
            if(parent is SciChartSurface)
            {
                var surface = parent as SciChartSurface;
                if(null != surface)
                {
                    OHLCVChart chart = surface.DataContext as OHLCVChart;
                    Annotations = chart.LAnnotations;
                    SelectedAnnotation = Annotations.FirstOrDefault(x => x.IsSelected);
                }
            }                
        }
        catch { }        
    }

If there is any other way to club all Trading related annotations + TextBox, Line, TrendLine Annotations creation dynamically using any other modiefier, that will do. We are tying to build Trading charts: with Ability to add annotations.

Thanks.

0 votes
0 answers
126 views

I opened a page in my app, this page just have a chart control and displaying data. it throw exception: “VXccelEngine2D.dll is either not run on Windows or it contains an error, try installing again.”

did someone encounter this issue? who can help me out? thanks much.

 <cm:SciChartBaseFace 
                Grid.Column="1" x:Name="DCVChart" sc:ThemeManager.Theme="BrightSpark" RenderPriority="Low" 
                RenderableSeries="{Binding DataSeries}" Annotations="{sc:AnnotationsBinding AnnotationViewModels}">
                <cm:SciChartBaseFace.XAxis>
                    <sc:TimeSpanAxis VisibleRange="{Binding XAxisRange, Mode=TwoWay}" AxisTitle="Time(s)"/>
                </cm:SciChartBaseFace.XAxis>
                <cm:SciChartBaseFace.YAxis>
                    <sc:NumericAxis AxisAlignment="Left" VisibleRange="{Binding YAxisRange, Mode=TwoWay}" AxisTitle="Data" DrawMajorBands="True" GrowBy="0.1, 0.1"/>
                </cm:SciChartBaseFace.YAxis>
                <cm:SciChartBaseFace.ChartModifier>
                    <sc:ModifierGroup>
                        <cm:SimpleXyZoomModifier Source="DCV"  IsEnabled="True" IsXAxisOnly="False"/>
                        <cm:SimpleZoomExtentsModifier Source="DCV" ReceiveHandledEvents="True"/>
                        <cm:ZoomPanModifierEx ExecuteOn="MouseRightButton" ClipModeX="None" ReceiveHandledEvents="True"/>
                        <sc:MouseWheelZoomModifier ReceiveHandledEvents="True"/>
                        <sc:RolloverModifier x:Name="rolloverModifier" ReceiveHandledEvents="True" ShowAxisLabels="True" ShowTooltipOn="Always" TooltipUsageMode="Popup"/>
                    </sc:ModifierGroup>
                </cm:SciChartBaseFace.ChartModifier>
            </cm:SciChartBaseFace>
  • Xiaowei asked 3 weeks ago
  • last active 1 week ago
0 votes
147 views

Hi,

How can I add a geometry to a 3D chart in MVVM?

Best regards

0 votes
158 views

Hi all,

I am trying to create a vertex selection modifier for a 3D chart that would allow me to select everything within two points on an axis. I have inherited from ChartModifierBase and created overrides for the OnModifierMouse events but I need a way to calculate the world or data coordinate of my axis. I know that CameraController has a ScreenToWorldSpace method but this is not exposed on the Camera3D class. Currently I have resorted to calling the TSRCamera’s TransformIntoWorldCoordinates method but would prefer a less roundabout solution. Is there an easier way to calculate screen to world/data coordinates or a way to get the position on my axis from screen coordniates?

Thanks

0 votes
232 views

With fifocapacity(XyDataSeries), memory behaves like an image. (Repeat ups and downs)
Is this due to fifocapacity(XyDataSeries)?

Capture : x = minutes , y = MB

0 votes
206 views

Is there a way to show the axes as a line while not drawing the grid? (right now I have a white surface and white gridlines in the custom theme, but with that the axes are now just the ticks)
To clarify the Y-Axis is a middle axis so a border would not work.

0 votes
172 views

I need to set the style of the ellipse on my VerticalSliceModifier (and make it a custom color etc)

                <s:VerticalSliceModifier ShowTooltipOn="Never" Foreground="White" Name="sliceModifier">
                    <s:VerticalSliceModifier.VerticalLines>
                        <s:VerticalLineAnnotation X1="{Binding Number}" Style="{StaticResource sliceStyle}" />
                    </s:VerticalSliceModifier.VerticalLines>
                </s:VerticalSliceModifier>

However my series is created in code as a MountainRenderableSeriesViewModel and bound to the chart via SeriesBinding

    <s:SciChartSurface
        Grid.Row="1"
        Background="Transparent"
        BorderThickness="0"
        RenderableSeries="{s:SeriesBinding Series}"
        Annotations="{s:AnnotationsBinding Annotations}">

All the examples I’ve seen use the RolloverMarkerTemplate and define it under as a child node under BaseRenderableSeries or FastLineRenderableSeries, but I cannot find how to assign this to a series when it is defined in a ViewModel and assigned as above.

I’m new to SciChart and any help on this would be great.
Thanks

0 votes
191 views

Hi

I want to make an dot horizontal line in the chart surface.
How can I make this with HorizontalLineAnnotation?

Please help me

  • Bruce Juli asked 1 month ago
  • last active 1 month ago
0 votes
160 views

Good evening!
I wrote a test program with your library, the following situation arose:
On Windows 10 everything works fine, and on Windows 7 the following error (for 3D Charts)

XamlParseException: The invocation of the constructor on type 'SciChart.Charting3D.SciChart3DSurface' that matches the specified binding constraints threw an exception.
-------------------------------------------

Stack Trace:
   at System.Windows.Markup.WpfXamlLoader.Load (XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
   at System.Windows.Markup.WpfXamlLoader.LoadBaml (XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
   at System.Windows.Markup.XamlReader.LoadBaml (Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
   at System.Windows.Application.LoadBamlStreamWithSyncInfo (Stream stream, ParserContext pc)
   at MS.Internal.AppModel.AppModelKnownContentFactory.BamlConverter (Stream stream, Uri baseUri, Boolean canUseTopLevelBrowser, Boolean sandboxExternalContent, Boolean allowAsync, Boolean isJournalNavigation, XamlReader & asynterObjectConver)
   at MS.Internal.AppModel.MimeObjectFactory.GetObjectAndCloseStream (Stream s, ContentType contentType, Uri baseUri, Boolean canUseTopLevelBrowser, Boolean sandboxExternalContent, Boolean allowAsync, Boolean isJournalNavigation & asamlOjectConstruction)
   at System.Windows.Navigation.NavigationService.GetObjectFromResponse (WebRequest request, WebResponse response, Uri destinationUri, Object navState)
   at System.Windows.Navigation.NavigationService.DoNavigate (Uri source, NavigationMode f, Object navState)
   at System.Windows.Navigation.NavigateQueueItem.Dispatch (Object obj)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall (Delegate callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
-------------------------------------------

Stack Trace:
   at A.QBB.DJ (UInt32 D, Boolean I, Boolean J)
   at SciChart.Charting3D.Interop.SCRTWPFInterop.TwisterInitEngine (UInt32 multiSampleAntiAliasing, Boolean _bUseDirectX9, Boolean _bD3D11UseLowerFeaturesLevel)
   at SciChart.Charting3D.Viewport3D.QB (Boolean D)
   at SciChart.Charting3D.SciChart3DSurface.KYB ()
   at A.VDB.BB (Action D, String I)
   at SciChart.Charting3D.SciChart3DSurface..ctor ()

I ran the SciChart WPF Examples Suite program and saw the same message.

Please tell me what to do (preferably without a new version, I read that only SciCharts 5 work stably for Windows 8 and below)

System Information:
Windows 7 64-bit, 8GB RAM, 1TB SSD, .NET Framework 4.5.2
SciCharts: Version 5.4.0.12119

UPD:
in version 6.3.0.13476 the situation is similar

0 votes
176 views

We are using NumericAxis for the y-axis and x-axis of a bar chart. The x-axis uses a LabelProvider (to convert integers to strings) and a TickLabelStyle (to rotate the label by 270 degrees so it is vertical going from the bottom to the top). We find that sometimes the y-axis is not drawn (however, it will be drawn if the chart is resized or re-painted).

The work-around to the problem is adding spaces to the front of the shorter labels so all of the labels are all the same length. However, this work-around does not work for every case.

Have you seen this issue before and is there a better solution? Thanks!

0 votes
194 views

Hi,
I want to draw a spectrogram in WPF application and after searching I found your control. I downloaded your demo (trial version) and I would want to check if it completely meets my requirements. As starting I try to make zoom-in in your demo and I didn’t succeed.
Maybe you can tell me if it’s supported?
Thank you very much!

  • B H asked 2 months ago
  • last active 1 month ago
0 votes
0 answers
175 views

I have custom annotations built on the BoxAnnotation base class. The annotations have a rotation feature so that their content can be rotated.
RenderTransform is applied down to BoxAnnotation itself, so that it’s contents are rotated all along with the handlers. But resize grips are staying the same. Is it possible to pass the existing transform (the one applied to the content) also to the grips?

0 votes
285 views

We use WPF’s lineChart component to load a huge file. This file may contain a lot of curves, each curve contains 32M points. The point is of type float.
We found that the loading curve of the line chart is relatively slow. Through performance analysis, I think it is caused by XYDataSeries.Append(IEnumber x,IEnumber y).
Excuse me, how can I optimize. It would be better if there is a code example.
Looking forward to your reply.

  • wang peng asked 2 months ago
  • last active 2 months ago
0 votes
232 views

Hi

I want to draw small circle and label to identify of accident position on the chart like as sell point on the sample picture.
But I don’t know how can I implement this on the code.

Please help me!

  • Bruce Juli asked 2 months ago
  • last active 1 month ago
0 votes
206 views

Hi

I want to draw small circle and label to identify of accident position on the chart like as sell point on the sample picture.
But I don’t know how can I implement this on the code.

Please help me!

  • Bruce Juli asked 2 months ago
  • last active 2 months ago
0 votes
0 answers
230 views

Only one machine we’re seeing this below…

Exception Info: System.Security.SecurityException
at System.Diagnostics.EventLog.FindSourceRegistration(System.String, System.String, Boolean, Boolean)
at System.Diagnostics.EventLog.SourceExists(System.String, System.String, Boolean)
at System.Diagnostics.EventLogInternal.VerifyAndCreateSource(System.String, System.String)
at System.Diagnostics.EventLogInternal.WriteEntry(System.String, System.Diagnostics.EventLogEntryType, Int32, Int16, Byte[])
at System.Diagnostics.EventLog.WriteEntry(System.String)
at System.Diagnostics.EventLogTraceListener.Write(System.String)
at System.Diagnostics.EventLogTraceListener.WriteLine(System.String)
at System.Diagnostics.TraceInternal.WriteLine(System.String)
at System.Diagnostics.Trace.WriteLine(System.String)
at SciChart.Drawing.VisualXcceleratorRasterizer.VisualXcceleratorRenderSurface..cctor()

0 votes
247 views

See image.
The plot can switch between numeric, datetime and and logarithmic axis. It only happens for the logarithmic one. They all share the same point marker code.

0 votes
338 views

Hello SciChart Team,

We are using SciChart v6.1.1.13156 since about a year in our main software that is used by customers worldwide.
The SciChartSurface-Style that all charts use is configured to use the VisualXcceleratorEngine (in DirectX9 mode, as some customers had problems with invisible charts on specific older intel graphics chipsets).

In the last weeks we had several inqiuiries from customers (from Japan, Korea), that the charts in their software do not update when adding new values, the chart is only updated when minimizing and then showing the window again. Another issue was that the X-Axis was updated fluently but the chart (line-chart) only very irregularly (about 2-3 times in a 30sec measurement which provides a value every 20msec). All of these customers use new laptops with 11th generation Intel CPUs. One of these had an Nvidia-graphics card installed an when forcing to use it with our software the charts worked perfectly.

We added an option in our software to Enable Software Rendering (Highspeed Renderer) to increase compatibility when having the above mentioned issues as we thought that it has to do with the VisualXcceleratorEngine, but this did not change anything unfortunately.

We want (and have) to solve this problem as this breaks the functionality of our software with some of our biggest customers.

Best regards,
Oliver from Cologne Germany

0 votes
267 views

Hello dear SciChart team

I am using your SciChart in my WPF project very well. It’s very wonderful. And I have one problem how to implement this chart using SciChart. I made a chart to show the market data real time and want to make a background be shaded on when special time frames.
I tried on some ways but can’t solve that problem. I attached the image file that I want to make.

Please help me.

Thanks!

  • Bruce Juli asked 2 months ago
  • last active 2 months ago
0 votes
255 views

Hello dear SciChart team,

Our customer has a new security program that starts on Dlls that are copied into a directory during runtime. At the moment has the customer the problem that this security program starts on an AbtLicensingNative.dll. This DLL is in the following directory:
% USERPROFILE% \ AppData \ Local \ SciChart \ Dependencies \ v.6.2.1.13304 \ x64.

For this reason the following questions:
Is this DLL safe?
Why is the dll only copied at runtime? Is there another solution for this?

best regards
Silvester

0 votes
304 views

I have a LineRenderableSeriesViewModel, and I have a feature that allows the user to swap the dataseries with another. When this occurs I replace the dataseries property with the relevant dataseries.

However I find that when I do this, the chart does not always autorange to the where the new dataseries is. I can’t see the new plot when this occurs. I believe doesn’t happen if the new dataseries is being appended to, but only if the new dataseries that is chosen is not being appended.

0 votes
292 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
320 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
395 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
356 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
363 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
442 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

1 vote
379 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
533 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 months ago
  • last active 3 months ago
0 votes
345 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
377 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
409 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
339 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 3 months ago
  • last active 3 months ago
0 votes
450 views

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

0 votes
354 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!

0 votes
392 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!

  • Greg Knox asked 4 months ago
  • last active 2 months ago
0 votes
643 views

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

  • Abhilash R asked 4 months ago
  • last active 4 months ago
0 votes
0 answers
443 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?

Showing 1 - 50 of 3k results