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

0 votes
0 answers

We’re adding data to a data series form a background thread. We noticed that on some hardware (especially notebooks) the sci chart surface is not updated. Only a window rezise forces an screen update.

We enabled sci chart logging and debugging, but we didn’t see any suspicious logging output.
The data are being added within a block like this:
using (dataSeries.SuspendUpdates)

The strange thing is, that the x-Axis labeling gets updated (range change), but dataSeries Content won’t be drawn on some machines (more often on notebooks)

Do you have any idea what could lead to this behaviour?

Thanks in advance!

0 votes

I have been using the sci chart for more than 2 months and now I have a problem.
I have an x-axis and multiple y-axes, I want to make my chart scalable with custom values.
Now , I am manually bind major delta and minor delta to control the Axis scale and Autoticks property set to false.
Is there any other way to implement this functionality?

  • ats ta asked 3 days ago
  • last active 3 days ago
0 votes
0 answers

I use stacked bar chart.
I want to know How to add lines between stacked columns/bars.

How to add lines between stacked columns/bars [Excel charts]

0 votes
0 answers

Is it possible with SciChart to generate a Nonuniform Heatmap where the xRangeMapping values depend on the y value, and vice versa? We are mapping a spherical data series to a “flat” projection and would like to present this as a 2D heatmap. That is, we are converting latitude/longitude coordinates to Cartesian, then projecting the +Z hemisphere onto a 2D surface. I’ve attached a screenshot of the mapping of (lat, lon) to (x, y). Any suggestions are greatly appreciated!

0 votes

Is is possible to have a fixed aspect ratio for a 3D chart? I have found suggestions for 2D charts but not 3D. I want the X,Y,Z axes to all scale the same despite having different visible ranges. This means that the lengths of the axis should be different.

  • Myles H asked 2 weeks ago
  • last active 2 weeks ago
0 votes

I am using FastLineRenderableSeries with DateTimeAxis for X-axis.

And, I’m using mouse event to get X-axis value use clicked by mouse.

I’m using code below.

Put vertical line at chart where nearest X value exists, when mouse button clicked

But sometimes MouseButtonEventArgs.GetPosition takes time.

Code like this.

        private void chartSurface_PreviewMouseDown(object sender, MouseButtonEventArgs e)
                    if (isInitialized == false) return;


                    // Get mouse point
                    var mousePoint = e.GetPosition(chartSurface);


Performance analyze start:2021/09/09 10:55:47 chartSurface_PreviewMouseDown
Performance analyze check:2021/09/09 10:55:47 elapsed:00:00:00.0027280 e.GetPosition(chartSurface)

When slow
Performance analyze start:2021/09/09 10:55:48 chartSurface_PreviewMouseDown
Performance analyze check:2021/09/09 10:55:48 elapsed:00:00:00.4303424 e.GetPosition(chartSurface)

Is there any good way to get more good and stable performance?

0 votes

I am working on a chart that contains a number of StackedColumnRenderableSeries. Each series has a unique StackedGroupId set so all of the columns display side-by-side (“grouped” mode). I have attached a screenshot of what the chart currently looks like.

The Y-values in the chart are each an average of several collected data values, so I would like to be able to include the standard deviations as error bars drawn over each column, with the center at the top of the column and the high and low values set to center+SD and center-SD.

What would be the best approach to do this? The first thing that comes to mind for me is to create a new class StackedColumnRenderableSeriesWithErrorBars which derives from StackedColumnRenderableSeries, override InternalDraw, and add the drawing of error bars to InternalDraw after calling base.InternalDraw. Of course this would only work as long as the DataSeries is an HlcDataSeries instead of an XyDataSeries.

I also considered an approach that involved overriding/modifying FastErrorBarsRenderableSeries to essentially add a “grouped” mode, but I’m not sure there’s a good way to add that.

I believe the StackedColumnRenderableSeriesWithErrorBars approach will work, but I want to make sure I’m not missing a simpler approach that I could take instead. Any help would be greatly appreciated.

Thank you!

UPDATE: I have it working to the point where it draws the error bars, but the X coordinate is always in the middle of the group, rather than being centered in the middle of the column. I assume I need to make use of the Wrapper (IStackedColumnsWrapper) in the StackedColumnRenderableSeries to shift the X coordinate, but I’m having a little trouble figuring out exactly how. Here is what I have thus far:

public class StackedColumnRenderableSeriesWithErrorBars : StackedColumnRenderableSeries
    public bool ShowErrorBars { get; set; } = false;

    protected override void InternalDraw(IRenderContext2D renderContext, IRenderPassData renderPassData)
        base.InternalDraw(renderContext, renderPassData);

        // Now that the main drawing of the StackedColumnRenderableSeries is done, draw the error bars (if applicable).
        if (ShowErrorBars)
            // The resampled data for this render pass
            // Don't try to draw error bars if the PointSeries isn't an HlcPointSeries.
            if (renderPassData.PointSeries is not HlcPointSeries dataPointSeries)
            ICoordinateCalculator<double> xCalc = renderPassData.XCoordinateCalculator;
            ICoordinateCalculator<double> yCalc = renderPassData.YCoordinateCalculator;

            // Iterate over the point series
            for (int i = 0; i < dataPointSeries.Count; i++)
                // Get the values
                double x = dataPointSeries.XValues[i];
                double high = dataPointSeries.HighValues[i];
                double low = dataPointSeries.LowValues[i];

                // Transform to coordinate
                double xCoord = xCalc.GetCoordinate(x);
                double highCoord = yCalc.GetCoordinate(high);
                double lowCoord = yCalc.GetCoordinate(low);

                // TODO: Use Wrapper to transform the X coordinate based on where in the group this column is.

                // TODO: Set cap width based on column width
                double capWidth = 10;

                using IPen2D pen = renderContext.CreatePen(Colors.Black, true, 2);
                // Draw vertical line
                renderContext.DrawLine(pen, new Point(xCoord, highCoord), new Point(xCoord, lowCoord));
                // Draw top cap
                renderContext.DrawLine(pen, new Point(xCoord - (capWidth / 2), highCoord), new Point(xCoord + (capWidth / 2), highCoord));
                // Draw bottom cap
                renderContext.DrawLine(pen, new Point(xCoord - (capWidth / 2), lowCoord), new Point(xCoord + (capWidth / 2), lowCoord));
0 votes


We want to implement a chart like Step line i.e. for each trade we have a line from trade’s entry to exit time. Similar to Gantt chart type.

can you provide some way to implement this type of chart using Scichart?


0 votes


I have an x-axis of type DateTime. Now I need to change that x-axis to show data in different intervals like Daily, Weekly, Monthly, continuous axis, and discontinuous axis at runtime.

Can you help me to guide on how can we achieve this. Also, any code reference would be really helpful.


0 votes


I want to use a CursorModifier that snaps to series, but not all series. I can see the BaseRenderableSeriesViewModel has, for example, IncludeTooltipModifier, but there is no IncludeCursorModifier property so I haven’t been able to get it to work out of the box.
Is this a missing feature?

Are there any work arounds? I was thinking of adding metadata to a series, but there is no metadata for the entire series, just a metadata for the point markers.

I also tried to create a class that inherits from, for example, LineRenderableSeriesViewModel, that has an IncludeCursorModifier, or similarly named property. The issue I had with that is that when I create my own inherited version of CursorModifer I only have access to the ParentSurface?.RenderableSeries which is not the ViewModel version of the series, and thus that information seems to be lost – I can’t cast a member of RenderableSeries to my custom MyLineRenderableSeriesViewModel, thus I can’t inspect whether it should be included in the cursor modifier.

I appreciate the help.


1 vote

We want to add a toggle button to our chart, that changes the view range between zooming to a particular region of the graph and showing the whole dataset.
To achieve so, we have followed this post that suggests overriding the methods OnCalculateNewYRange and OnCalculateNewXRange inside a custom viewport manager

However, we have found that always overriding those methods does not work, because they get called when the user zooms and pans around the chart, where you want the default range to be returned, not our custom computed one.
Adding a flag to only override the methods when you click the button has also proven tricky, as those methods get called internally many times and it is difficult to control.
Is there an easier way to achieve this behaviour?

Our overridden methods look something along these lines:

/// <inheritdoc/>
    protected override IRange OnCalculateNewXRange(
        IAxis axis )
        var computedRange = base.OnCalculateNewXRange( axis );

        if ( !( GetXLimitsForCurrentVisibleRangeLevel is null ) ) 
            // Method that returns our computed visible range as a function of the toggle button state (CurrentVisibleRangeLevel )
           // Returns null when a flag indicates that it has already been called after the toggle button was clicked
            var newRange = GetXLimitsForCurrentVisibleRangeLevel( CurrentVisibleRangeLevel );
            return newRange ?? computedRange;

        return computedRange;

Many thanks in advance!


  • malú Diaz asked 3 weeks ago
  • last active 3 weeks ago
0 votes


In case of a column chart, would it be possible to display instead of a label, another control (for example a checkbox) under each column?


0 votes

Can I place axis tick label text to right-aligned?

Sorry I can’t attach screen shot for my company’s security reason..

var yNumAxis = new NumericAxisViewModel
AxisAlignment = SciChart.Charting.Visuals.Axes.AxisAlignment.Left,
TickTextBrush = new SolidColorBrush(Colors.White),
TickLabelsOffset = 1,
DrawMajorGridLines = true,
MajorGridLinesBrush = new SolidColorBrush(Colors.LightGray),
FontSize = 12,
StrokeThickness = 1,
DrawMajorBands = false,
DrawMinorGridLines = false,
DrawMinorTicks = false,
VisibleRange = new DoubleRange(16, 23),
LabelProvider = this.YAxisLabelProvider

There is no property related TextAlignment

Please help me.

0 votes

We are binding the IDataSeries property to the ViewModel and passing the changes to the UI with SetProperty in the INotifyPropertyChanged interface.
However, there is no problem in many PCs, but strange phenomena occur in certain laptops.
The chart moves only when the WPF window is at the maximum screen, and does not move when the WPF window is not at the maximum screen.

What should I do to solve this phenomenon?
The version of SCIChart I am using is v5.

Please refer to the attached video.

Answers I’ll wait.

thank you.

0 votes


Part of our project is in labVIEW. It is very convenient to integrate Scichart as .Net assemblies into labVIEW.

Another part is C++ and CUDA, Windows only, Visual Studio 2019.
We can call scichart with managed C++ for .Net (C++/CLI).

Is there native API for C++ in Scichart?


  • anton m asked 1 month ago
  • last active 1 month ago
0 votes

I’m building a chart where I’m plotting range vs doppler and the range has some error in it. There is a need for me to show the upper and lower bounds of that error. The issue I’m having is that for this particular chart the range is the x value. I have an estimated range but I need to show that there is some error in it. How do I make the error bar horizontal? I saw in the Android SDK there is a method to set the error bar direction. Is there something I can do in WPF to change the orientation of the error bar?

0 votes

Hi All!
I need to replace major and minor grid lines in sci-chart surface with points at Intersection point; like attached image. is there any way to do that in WPF?

0 votes

How do you set X1,X2 and Y1,Y2 in xaml as suggested in a previous post here on the forum?

I also get null values here when using Composite Annotations example. the suggestion to set the value DependencyProperty.SetCurrentValue(X1Property, 0.0); does not work since DependencyProperty does not expose a SetCurrentValue method (?)

I am using your example code for doing composite Annotations on my existing chart.
I am using MeasureXAnnotation and MeasureXyAnnotation and the respective Update method that is overidden.

What am I missing ?

Appreciate your help with getting this working


0 votes

I am having an issue with my Composite Annotation implementation.
I am using the example provided in the MeasureXyAnnotation.xaml that I found here.
My exception that is thrown (see exception attachment provided) complains about a missing Axis value.

In the public override void Update(ICoordinateCalculator xCoordCalc, ICoordinateCalculator yCoordCalc)
the yCoordCalc comes in with a null value. The xCoordCalc is populated and looks valid.

See attachment of my plotting area and well as the chart area. The composite annotation shows up alright, but as soon as I try to drag it the exception is immediately thrown.

I have no idea at this point why. I have tried to implement the annotation according to your example but obviously I am missing something.
Support getting this to work would be immensely appreciated.

Thank you

0 votes

I want to have multiple point markers within the same series based on per-point metadata – for example, based on categories I should have a circle, square, triangle, etc., within the same series. Is this possible?

0 votes

Hello guys !
I am looking at the Composite Annotation example provided with the SDK that I downloaded a few days back.

I am somewhat confused on what assemblies I will need . The assemblies list you use is extensive and it is unclear to me what assemblies I need to include to apply this to my plot implementation.

The namespace
SciChart.Examples.Examples.AnnotateAChart.CompositeAnnotations is what I am looking at and what in that list of assemblies will I need to include to successfully implement Composite Annotation in our application ?

I work with a few models and views. Two of them, the ChartView and the PlotView respectively handles the charting surface , then the surrounding toggle buttons and such belongs to the PlotView.

What would be your recommendation how to begin implement this ?

Appreciate the support
Thank you


0 votes

Hi, i am developing a real time graph plotting application with various series on the chart. The application allows user to turn on and off the auto range using a radio button.

I am using the the viewport manager to adjust the y-axis visible range of each series. But i face an issue. The particular y axis visible range increase abnormally (keep increase indefinitely) when i uncheck the particular visibility checkbox on the legend. It back to normal when i check the visibility checkbox.

I do also provide the code of the ViewPort manager class in the zip file. Besides, i also prepare the video but fail to upload due to size limit.

Please provide me so guide how to solve this and why it happens. Looking forward on your reply. Thanks

  • mian ooi asked 2 months ago
  • last active 1 month ago
0 votes
0 answers

I have a custom chartmodifier I use for highlighting points on mouseover for my 2D plots and I want to create the same functionality for my 3D scatter plot. However, I can’t get it to work;

for the 2D plot I do

var series = ParentSurface.RenderableSeries[0];
var pt = GetPointRelativeTo(e.MousePoint, ModifierSurface);
double dataPointRadius = 8;
var result = series.HitTestProvider.HitTest(pt, dataPointRadius);

However, it seems that 3D plots don’t have a hittestprovider and that it’s not possible to define a radius for the hit test, so the code becomes

var series = ParentSurface.RenderableSeries[0];
var pt = GetPointRelativeTo(e.MousePoint, ModifierSurface);
var result = series.HitTest(pt);

However, result.IsHit is always false. What am I missing?

0 votes

I downloaded the SciChartTeam SciChart version release from Git , thinking I would be able to get myself educated regarding Composite Annotations , which is something that has been requested by our field engineers.
The reference however given in the xaml file gives me :


within the solution. That reference does not include any source files (see attached image)

Since Composite Annotations is fairly complex, code examples and a working example solution, showing Composite Annotations implemented would be extremely helpful for me. Is there a running example I can download / view/ interact with ?

Appreciate support in this matter

Thank you


0 votes

The ThemeManager has a SetTheme method that requires me to provide the dependency object of the thing I want to se the theme for. However, is there a way to set the theme in the ThemeManager and have it apply to all instances of SciChartSurfaces in the application?

0 votes

Setting s3D:SciChart3DSurface WorldDimensions=”300,300,0″ in xaml can remove left and right wall in 3D chart. But
this operation will affect the display of other datas. How to solve this problem?

  • bo wu asked 2 months ago
  • last active 2 months ago
1 vote

There is XyzGizmo entity in the lower left corner of the 3D chart. But, how to set it to the North East coordinate system, which the front is x, the right is y, and the down is z. I tried to use right-hand coordinate, but y axis is always up.
I tried to call the SetRotation and SetPosition methods of XyzGizmo, but it didn’t seem to have any effect. I couldn’t make the z axis face up.

  • bo wu asked 2 months ago
  • last active 2 months ago
0 votes

Hi, i had download the Scichart v6 Trial version. I am trying to enable the Visual Xccelerator Engine. I do it following the tutorial as below:

<s:SciChartSurface s:VisualXcceleratorEngine.IsEnabled=”True”
s:VisualXcceleratorEngine.FallbackType=”{x:Type s:HighQualityRenderSurface}”

But when i check with (RealTimeGraph.RenderSurface.GetType() == typeof(VisualXcceleratorRenderSurface)), it show that i am fail to turn on the Visual Xccelerator Engine.

Attach is my DirectX window.
Kindly advise

  • mian ooi asked 2 months ago
  • last active 2 months ago
0 votes

I use SciChart.
If VisibleRangeLimit is set, pan will also cause zoom.
I want to stop zoom.
Is there any way to solve this problem?

0 votes

Hi, is there a class that we can use in Polar Chart to change the the colors of an object similar to the LinePaletteProvider? Basically, we are using LineChartExampleView and PolarChartExampleView in our project. In LineChartExampleView we used the LinePaletteProvider class to change the colors of the 2D line object with color transitions. We wanted to achieve the same changes in color like what we did in LineChart using LinePalleteProvider. Thank you.

  • Ed Dichoso asked 2 months ago
  • last active 2 months ago
0 votes

I wanted to check if there is a way of adding text to the tooltip. Before we have added a text called Value that represented a value but after getting the latest update that is not working. I wanted to check if there is a way of having text on the tooltip with the version that I have been using ( Also, I have added images on the tooltip that I wanted.

0 votes

We are building an application that receives data at a rate of 264 samples per second. The values we are trying to plot are too large to use doubles so we are using floats instead. As soon as a second or two of data is appended to the chart’s dataseries the application freezes and I get the following message in the debug output window of Visual Studio.

SciChartSurface didn’t render, because an exception was thrown:
Message: Array dimensions exceeded supported range.

Stack Trace: at System.Collections.Generic.List1.set_Capacity(Int32 value)
at System.Collections.Generic.List
1.EnsureCapacity(Int32 min)
at System.Collections.Generic.List1.Add(T item)
at SciChart.Charting.Numerics.TickProviders.NumericTickProvider.CalculateTicks(IRange
1 tickRange, Double delta, Double majorDelta, IList1 results)
at SciChart.Charting.Numerics.TickProviders.NumericTickProvider.CalculateMajorTicks(IRange
1 tickRange, IAxisDelta1 tickDelta)
at SciChart.Charting.Numerics.TickProviders.TickProvider
1.SciChart.Charting.Numerics.TickProviders.ITickProvider.GetMajorTicks(IAxisParams axis)
at SciChart.Charting.Visuals.Axes.AxisCore.CalculateTicks()
at SciChart.Charting.Visuals.Axes.AxisBase.OnDraw(IRenderContext2D renderContext, IRenderPassData renderPassData)
at vme.scn(ISciChartSurface cbn, IRenderContext2D cbo)
at vme.RenderLoop(IRenderContext2D renderContext)
at SciChart.Charting.Visuals.SciChartSurface.DoDrawingLoop()

How can we get this data to render on the chart without crashing? Ideally we would like to use the FIFO feature of SciChart as well but at this point we would just settle for getting the chart to render.

0 votes

My application receives data every 30ms, every data package has a timestamp.
I am using FastUniformHeatmapRenderableSeries.

_spectrogramBuffer = new double[1024, 6144];
HeatmapDataSeries  = new UniformHeatmapDataSeries<int, int, double>(_spectrogramBuffer, 0, 1, 0, 1);

private void UpdateHeatmapSeries(IList<double> newValues, DateTime dateTime) {
     Array.Copy(_spectrogramBuffer, values.Count, _spectrogramBuffer, 0,  _spectrogramBuffer.Length - values.Count);

     for (int i = 0; i < values.Count; i++) {
         _spectrogramBuffer[1023, i] = values[i];

Can I show timestamps for data?

0 votes

I saw an example of displaying the live data within the chart ( which is working fine for me. But is there a way to display data outside of the Chart?
I have included an image that demonstrates the functionality that I am looking for.

0 votes

Hi SciChart team,

I have built a xyscatter chart with DateTime type X-Axis and Double type Y-Axis,
and built boxannotations to mark areas.

May I set the x-Axis value in the tooltip?
Or can I show properties of each item which means every point in the xyscatterseries, and customize the tooltip content style like adding the description of every properties.

  • Wade Yao asked 3 months ago
  • last active 3 weeks ago
0 votes


I am trying to set the interval on the x-axis in a polar plot but it doesn’t appear to be accepting it and plotting accordingly. My axis definition is quite simple:

       <s:PolarXAxis Name="TFxAxis" MajorDelta="15"/>

I am plotting angles and radii so one data point might be (45, 1) and the next (50, 2) and so on where my visible range is TFxAxis.VisibleRange = new DoubleRange(-180.0, 180.0). Very simple plot but it keeps returning to a default of 1 on my MajorDelta for the x-axis and then showing major axes at 50 degree intervals. I’ve tried a variety of solutions but nothing seems to work properly.

0 votes


I downloaded the “Audio Analyzer Demo” example, but the code does not compile because of numerous references to “something” called NAudio.

I looked for it in the Nugets, but I can’t install it because it only works with Framework 2.0 …

Could someone tell me where to find this dependency in order to compile the example?

0 votes

I’m trying to use a heatmap to show live data as it’s being collected. The heatmap examples seem to show how to create and playback existing data.
Is there an example that shows how to update a single heat series as data is being measured? I’m measuring one point at a time and need to update the heatmap accordingly. I’m measuring and updating points at a rate of about 100us.
Creating a new UniformHeatmapDataSeries at each measurement updates the heatmap very slowly.

0 votes

I was looking if there is a way to measure the distance between two points in plot window? A use case of that would be :
1. Click one point then drag the mouse and get a continuous read-out of the x/y distance between the clicked point and the current pointer position.
2. Create 2 movable inspect points and display the difference between them (Matlab approach)
I have attached an image that highlights the functionality that I wanted.

0 votes
0 answers

As seen in the picture above.I want to use ScichartScrollBar to control the left and right movement of all items in the ListBox,And it doesn’t prevent me from dragging individual items.

What I mean by that is that when I use ScichartScrollBar I can control everything, and when I drag a single ListBoxItem it doesn’t affect all the other ListBoxItems

What should I do to achieve this effect?

0 votes

The users of our application often use machines that have FIPS compliance enforcement enabled. We are seeing this error in the logs:
Error: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms..
Stack Trace: at System.Security.Cryptography.MD5CryptoServiceProvider..ctor()
And it seems to be coming from initializing SciChart components. Would you be able to provide any insight on what SciChart uses MD5 for and if it can be disabled?
Thank you.

0 votes


I want to set multi TextAnnotations on the top left of the chart surface like as bmp.
So I use the HorizontalAnchorPoint and VerticalAnchorPoint to set top left of the chart but how can I set these property in multi TextAnnotations?
This is my code:

            txtAnno1.Text = "Hellow World1!";
            txtAnno1.Foreground = new SolidColorBrush(Colors.Blue);
            txtAnno1.HorizontalAnchorPoint = HorizontalAnchorPoint.Left;
            txtAnno1.VerticalAnchorPoint = VerticalAnchorPoint.Top;

            txtAnno2.Text = "Hellow World2!";
            txtAnno2.Foreground = new SolidColorBrush(Colors.Red);
            txtAnno2.HorizontalAnchorPoint = HorizontalAnchorPoint.Left;
            txtAnno2.VerticalAnchorPoint = VerticalAnchorPoint.Top;

Please help me.


  • Bruce Juli asked 3 months ago
  • last active 3 months ago
0 votes

such as,
SciChartSurface didn’t render, because an exception was thrown:
Message: Object reference not set to an instance of an object.

Stack Trace: at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length)
at SciChart.Data.Model.Values1.qui(Int32 tht)
at jrj.ResampleInternal(Values
1 resampledXValues, Values1 resampledYValues, Vectori resampledIndices, Double[] xValues, Double[] yValues, ResamplingArgs args)
at SciChart.Data.Numerics.PointResamplers.ExtremeResamplerBase
2.dlq(IList1 hxl, IList1 hxm, IPointSeries hxn, ResamplingArgs hxo, DoubleRange hxp)
at SciChart.Data.Numerics.PointResamplers.ExtremeResamplerBase2.Execute(IList1 xColumn, IList1 yColumn, ResamplingParams resamplingParams, ResamplingMode resamplingMode, IPointSeries lastPointSeries)
at SciChart.Charting.Model.DataSeries.XyDataSeries
2.ToPointSeriesInternal(ResamplingParams resamplingParams, ResamplingMode resamplingMode, IPointResamplerFactory factory, IPointSeries lastPointSeries)
at SciChart.Charting.Model.DataSeries.DataSeries`2.ToPointSeries(ResamplingParams resamplingParams, ResamplingMode resamplingMode, IPointResamplerFactory factory, IPointSeries lastPointSeries)
at jfw.dxn(AxisCollection cax, IRenderableSeries cay, RenderPassInfo caz, IPointResamplerFactory cba, Boolean cbb, IDataSeries& cbc, IndexRange& cbd, IPointSeries& cbe, Int32& cbf)
at jfw.dxl(ISciChartSurface cat, Size cau, Boolean cav)
at jfw.RenderLoop(IRenderContext2D renderContext)
at SciChart.Charting.Visuals.SciChartSurface.DoDrawingLoop()

  • YXJ YXJ asked 3 months ago
  • last active 3 months ago
0 votes
0 answers


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.


0 votes

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 3 months ago
  • last active 3 months ago
0 votes

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 };

Same issue :

  • Isol Gwon asked 3 months ago
  • last active 3 months ago
0 votes

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

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=""
             mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"

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

And the error I get is:
“XAMLIL: Unable to resolve type SciChartSurface from namespace 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

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


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

Showing 1 - 50 of 3k results