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

Welcome to the SciChart WPF Charts Community Forums!

Please see our Question asking guidelines before posting. You can also find our WPF Charts Documentation here.
  – Thanks & regards, SciChart Team

1 vote
0 answers

Hello, first let me say this is a awesome product.

I’m trying to implement sweeping scroll on SciChart. I have read the following article
and was able to implement it, but i have one small issue.

First my x axis is TimeSpanAxis, i need ticks to move appropriately. In chart presented with uploaded image, time base of X axis is fixed with VisibleRange from 0-10. I need tick on new trace that comes from left side to add ticks in order like 11-12-13… and old axis to lose oldest ticks like 0-1-2… So when i add new tick on left side trace, oldest tick on right side trace will disapper

Best regards

0 votes
0 answers

I’m using Stacked column chart, to represent some data.

  1. How can I remove the spaces between the column (in yellow)?
    I tried to set Spacing, Padding, and SpacingMode, but its not right way.
    It says “Change Spacing between columns using Slider.”,
    but I can’t find how to implement this slider..

  2. Can I make in any way the numbers in the x-axis match columns begin and end?
    see attached picture

  • Lio Ols asked 4 days ago
  • last active 3 days ago
0 votes

Right now I’m encountering a strange problem.

  1. Open C# WPF app containing SciChart on Windows Server 2012 R2 computer.
  2. Open a tabbed view that contains SciChartSurface.
  3. Press Ctrl-Alt-Del and Switch User. Select user and type in login password.
    Instead of switching user, Remote Desktop can be used to log in to the Windows Server 2012 R2 computer.
  4. After password is entered, an InvalidOperationException would occasionally appear. Enclosed is a popup dialog that appears when the exception occurs.

The error message says “Specified element is already the logical child of another element. Disconnect it first.”

However, the problem doesn’t occur every time though.

This problem never occurs on Windows 7, and it may be related to how DataContext gets changed in newer versions of Windows (like Windows 10 and Windows Server 2012 R2) after remote login or user switch.

Here’s a link to a StackOverflow question posted by someone else regarding this DataContext issue:

Somehow, a DataContext change would occasionally glitch up SciChart to produce this exception. This is problematic because one of our customers installed our WPF software application (containing SciChart) on a Windows Server 2012 R2 machine, and would remote login to that machine to run the app. Occasionally the Windows Remote Desktop would lose its connection (understandable), but when the customer logs in again, if the screen the customer was on contained a SciChart surface, the app would occasionally display the InvalidOperationException and crash.

0 votes
0 answers

Hey all,

I’ve bound a plot’s NumericAxis.AutoTicks to a checkbox and MinorDelta and MajorDelta to TextBoxes. The Idea being that the user can toggle on and off automatic tick spacing and apply their own spacing if they desire. I’m hoping to avoid having to override the tickproviders and/or deltacalculators.

My issue is that once AutoTicks is set to true it appears to lock-out external input of the deltas even after it has been set back to false.

Have I missed something?

0 votes


I’m having issues when I want to apply a custom PaletteProvider to a XyScatterRenderableSeries.

It takes forever to show just 10.000 points! I am really surprised given that without custom coloring I can render more than 50M points.

As far as I know, I’m not doing anything fancy. Have a simple transfer function inside the PaletteProvider that colors the PointMarker based on a Z value that is set as an indexed collection which I can access directly on the Palette Provider.

I’m using a SquarePointMarker as the marker, and I’ve also tried to set DirectXHelper.TryApplyDirectXRenderer to true.

Is this a known performance issue? Is there some way to by-pass it?

We’re expecting to be able to draw about 10M points colored.

Thank you.


0 votes

There doesn’t seem to be a corresponding IRenderableSeries3DViewModel object like there is in the 2D charts. What am i suppose to bind to the RenderableSeries property of the SciChart3DSurface? If I bind to a


object, then I don’t see a corresponding SurfaceMeshRenderableSeries3DViewModel object similar to LineRenderableSeriesViewModel for 2D?

A simple example of series binding using 3D charts would be great!

  • Andy None asked 1 week ago
  • last active 1 week ago
0 votes
0 answers

I’m trying to accomplish something that looks like that
Frequency Allocations Chart
Do you think it can be done with SciChart?
If yes, which kind of direction or chart type should I take

  • Lio Ols asked 2 weeks ago
  • last active 3 days ago
1 vote

Hi, I’m trying to just create a simple WPF MVVM application that binds to the ViewportManager and add series dynamically. The data range (X and Y) will vary and I’d like to zoom to fit after a new series is added. Seems simple, but I cannot get it to work. I’ve tried calling ZoomExtents on a bound DefaultViewportManager as well as InvalidateElement() and InvalidateParentSurface(RangeMode.ZoomToFit) and they all have no affect. I was assuming I was doing something wrong, but if you try the WPF demo/sample application it does the same thing. If you go to 2D Charts -> MVVM Examples -> Manipulate Series MVVM, there is a call to AnimateZoomExtents that doesn’t work either after you add a series. You still have to double click on the graph after clicking the plus button to make it fit the graph. I just want to zoom to fit the data and not use code behind. The functionality is clearly there because if you define <s:ZoomExtentsModifier ExecuteOn="MouseDoubleClick"/> it works perfectly, so how do I force that to happen from my view model? Thank you!

  • Andy None asked 2 weeks ago
  • last active 2 weeks ago
0 votes
0 answers

Because we have limited vertical space, I would like to change the position of the x-axis title.
Ideally, to the right of the x-axis values.
Using code behind, this was sort of possible, but we would like to do it using xaml.
Also, the code behind solution had problems when resizing the chart.
Is this possible?

0 votes

I’m implementing exporting charts. As part of my export, the user can specify the size of the chart. I’ve managed to get sciChartSurface.ExportToBitmapSource() working fine for single graphs.

However, I’ve got some quite complex layouts, and when I try to render parent controls that contain Scichart controls manually, with say:

ExportUIElement.Arrange(new Rect(size));

 int dpiScaling = 3;
RenderTargetBitmap bmp = new RenderTargetBitmap(Width * dpiScaling, Height * dpiScaling,
                                                                                                           96 * dpiScaling, 96 * dpiScaling,

I’m finding everything working, the chart layout & axis/labels update and render fine, but the chart content is not re-rendered to the new size, causing some messy/strange visual effects. This one was arranged to a larger size, you can see that the actual chart content is now sitting snugly in the middle of a large margin:

enter image description here

Can I force Scichart to re-render these so I can manually render the component in a different size?

  • hanvyj asked 2 weeks ago
  • last active 2 weeks ago
0 votes

In our project we had ScrollViewer on the LegendModifier:

<s:LegendModifier ShowLegend="True" ScrollViewer.VerticalScrollBarVisibility="Auto" x:Name="legendModifier" Orientation="Vertical" Margin="10" LegendItemTemplate="{StaticResource SciChartLegendItemTemplate}" >

It used to work with SciChart version, but after the update to, the scroll bar is no longer shown, which is a big problem!
Tried also with the latest version, still not working.
I also have get this in the output:
System.Windows.Data Warning: 40 : BindingExpression path error: ‘ScrollViewer’ property not found on ‘object’ ”LegendPlaceholder’ (Name=”)’. BindingExpression:Path=ScrollViewer.HorizontalScrollBarVisibility; DataItem=’LegendPlaceholder’ (Name=”); target element is ‘SciChartLegend’ (Name=”); target property is ‘HorizontalScrollBarVisibility’ (type ‘ScrollBarVisibility’)
System.Windows.Data Warning: 40 : BindingExpression path error: ‘ScrollViewer’ property not found on ‘object’ ”LegendPlaceholder’ (Name=”)’. BindingExpression:Path=ScrollViewer.VerticalScrollBarVisibility; DataItem=’LegendPlaceholder’ (Name=”); target element is ‘SciChartLegend’ (Name=”); target property is ‘VerticalScrollBarVisibility’ (type ‘ScrollBarVisibility’)

0 votes


I have taken the FastColumnRenderableseries and flipped some of the internals to create a FastRowRenderableseries. My question is how can I exclude the additional axis (Numeric type) from zoom calculations including extents, rubber band, mouse, etc.

The row series was implemented to create a way to show a magnitude in the X axis at specific price levels (volume accumulated at price level) of the SciStockChart y price axis. I did try using the column series but with a different placement but it’s zoom would size incorrectly.

I have tried using the viewport managers, as well as catching the axis changed then iterating over the x axis price data series visible range to store the visible highest/lowest then setting the y axis visible range based on that highest/lowest.

Ideally, I’d like to find a way to use one of the pre-made viewport managers or a custom one so that modifiers won’t be affected.

0 votes

I’d like to use the SciChartInteractionToolbar and the SciChartScrollbar in a scichart based project however (as always) there are some small but important changes that I need to make. I’ve looked everywhere but I can’t find where the toolbar is actually built in order to make the changes. I’m sure I could build the toolbar from scratch but this seems a waste when its largely already complete. Can you advise where I would find the code for the toolbar(s)?
Many thanks for your help!

0 votes

I need to create a series which draws boxes from start & end date times (X, X). The Y value will always be set to the maximum value of the all series displayed in the chart. I noticed that there is an XYY DataSeries type but not an XXY. I attempted to use a custom point marker which got me so far but I think displaying as a series is the way to go. This is the effect I’m going for:

X,X,Y data series

I have read around creating a CustomRenderableSeries which I intend to use however I believe that I first may need the data series to accept two X values (start & end)?

0 votes


Maybe I’m the only one but after installing I can’t start SciChart.Examples.Demo or SciChart.LicensingWizard both crash on startup.

  • Paul R asked 3 weeks ago
  • last active 3 weeks ago
1 vote

Visual Studio 2015

This isn’t a critical issue since it is handled but since it didn’t do this for the old version I thought I’d bring it to your attention. Awesome product BTW.

I just upgraded my .NET 4.0 SciChart 2D application from SciChart version to
Now I get the following (handled) exception message in the output window if I use a legend with my chart:

System.Windows.Data Warning: 40 : BindingExpression path error: ‘ScrollViewer’ property not found on ‘object’ ”LegendPlaceholder’ (Name=”)’. BindingExpression:Path=ScrollViewer.HorizontalScrollBarVisibility; DataItem=’LegendPlaceholder’ (Name=”); target element is ‘SciChartLegend’ (Name=”); target property is ‘HorizontalScrollBarVisibility’ (type ‘ScrollBarVisibility’)

This XAML the triggers the exception (comment it out and exception goes away):

                                <s:LegendModifier ShowLegend="True" />

How to reproduce:
– Take the EEG sample with the latest SciChart version (
– Change the target framework to .NET 4.0
– Change the SciChart references to use the SciChart 4.2, net40 DLLs.

I made a test solution for the following combinations:
.NET 4.5 with SciChart 4.2 works
.NET 4.0 with SciChart 4.2 throws exception
.NET 4.0 with SciChart 4.1 works

0 votes


Is there any way to draw text at custom angle using RenderContext.DrawText?

For example, like in the picture below

Thanks in advance

0 votes

I am new to this App, and also to Android Studio, however, I am using the trial version of Scichart. 2D graph, Scatter Plot.
I want change the Grid Rows and Columns, also How do I change the Data I want to display on the Screen, Also the Amount of Data.
I wish to display only one point at a Time !!

Right Now, I am displaying the Data on Windows Platform, But later I Want to port the same to Smartphone, Android Platform.

Help Appreciated ?!!

0 votes


I want to limit the range of the grid lines of a graph. For example on the screenshot, I don’t want any gridlines on the marked area.
Is there way to do what I want?

I’m using version

Thank you

View post on

  • kewur asked 1 month ago
  • last active 4 weeks ago
1 vote


I am evaluating the SciChart control – so far it looks very promising.

I have a FastHeatMapRenderableSeries that is analyzed and a FastLineRenderableSeries line is drawn through the chart.

The user needs to be able to correct the analysis, and this is done by “drawing” in the heatmap.

As far as I could tell, the ChartModifierBase gives med the necessary hooks to track the user’s mouse movements – but I would like to give some visual feedback by changing the cursor, for instance to Cursors.Pen (Cursors from the Microsoft namespace)

Is this possible? I would want to enable drawing when user presses Ctrl, the disable it when user releases Ctrl…

0 votes


Can you please tell me DO you have Fibonacci Arcs, Fans and Gann Fan and Gann line annotations???
If no then please give me a sample code of any of these annotations about how to implement them with scichart.

Hoping for a quick response as my boss is much eager about it… 🙂

Thanks in advance.


0 votes

In a previous project (matlab based) we have created charts as in the attached image.

This was previously done by adding all the points to a 2d histogram, this is a bit cumbersome as to give nice output the data needs to be resampled so that data points are equidistant at the display scale otherwise fast rises or falls (i.e. a small number of equi-time points). This approach becomes even worse if you want to enable interactive inspection of the plot instead of static as this will need to be recalculated for each zoom level.

Is there an easy way a similar effect in scichart without having to resort to manually creating 2d histograms. I was thinking there may be some option I can play with on how line series are rendered that might be able to generate this effect.

  • Hugoagogo asked 1 month ago
  • last active 1 month ago
0 votes
0 answers

I have followed the multiple series overview chart example

When the parent series changes I want the overview to reflect the new series. If I do the following and bind the VisibleRange to the parent chart axis VisibleRange then I get the relevant updates to the overview control but of course the visible range changes in the overview when I want it to remain static:

                    <s:DateTimeAxis VisibleRange="{Binding ElementName=OverviewChartControl,         

                    <s:NumericAxis VisibleRange="{Binding ElementName=OverviewChartControl,         

I have tried binding the VisibleRange to the VisibleRange of the parent chart as above. I get the VisibleRange update this way however the data range of the overview chart is not updated to reflect the extents of the new data so if for example a smaller range of data is presented in the new series, the data width of the overview will still reflect the previous data.

Is there a way to avoid this issue?

0 votes


I would like to delete selected annotation when “delete” key are pressed on it; like this :

(newAnnotation as AnnotationBase).KeyDown += (o, e) =>

I made this method when I create annotation on CreationModifier.AnnotationCreated event.
but is not work; the event are not handled.
Can you tell me how can I do this please

  • Neimad asked 1 month ago
  • last active 1 month ago
0 votes


In the chart I generate a lot of series (fastline) in the code behind.
Now I need modify the tooltip for rollover to keep only the name of the serie and the color.

How bind the DataTemplate without xaml?


0 votes
0 answers

tl;dr = Why can’t I use DateTime on the YAxis for any XY type plots (Line, Scatter, etc)?

I have created a Heatmap solution that displays data with Time along the Left and Frequency along the bottom. This works great, and I don’t really want to refactor it.

Now, I am trying to plot some observations over the top of the heatmap, in the form of (value, timestamp). Then I run smack into the limitation mentioned in the title of this post. Can someone please explain the limitation? Isn’t the DateTime just a long (which can be a double)? You already do work at the double level (as evidenced by the AsDoubleRange() method on all of the Range objects), so why not just convert to Ticks, and then convert back?

I think I can solve my issue by adding axes, rotating them, managing their visual range… Just seems like a lot of work for a relatively arbitrary (at least on the surface) limitation.

Thank you for any insight you can provide.


0 votes


I have recently updated my SciChart assemblies to version

However, I use the SciChart3DInteractionToolbar, defined in SciChart.Examples.ExternalDependencies. This now appears to be incompatible with the recent nightly release and I get the error

Could not load file or assembly ‘SciChart.Charting3D, Version=

Is there a new ExternalDependancies dll available that I could use.

I can’t understand this issue because when I update the SciChart_SparseImpulseSeries3D example project to use the same new Scichart version this runs okay.

Any help in resolving this issue is gladly appreciated.



0 votes

Hello SciChart-Team!

I’m trying to give the user of my application the ability to switch between relative (TimeSpan) or absolute (DateTime) time on the X-Axis inside the graph.
I know that I could go with two separate XyDataSeries objects, one for each type but I’d rather not do this because of memory consumption. (millions of datapoints that would need to be stored in memory twice)

My idea would have been to make my code generic with an IComparable instead of TimeSpan or DateTime. Like this:`

new XyDataSeries<IComparable, double>()

The application would then decide on startup which X-Values it should go with and either show a TimeSpanAxis or a DateTimeAxis.

Sadly, this doesn’t work.
When initializing an XyDataSeries like that I get a NotImplementedException

Cannot create a DataDistributionCalculator for the type TX=System.IComparable


   at A.c5777c70d4cd0dda50a2117fa1aaa10fc.c368dd1d74117b21c11923a7963ca446f[c96cfda5e71b9e51b60daed32a29c7426](Boolean c9d35973164d478a320e72d2740e74116)
   at SciChart.Charting.Model.DataSeries.DataSeries`2.Clear()
   at SciChart.Charting.Model.DataSeries.DataSeries`2..ctor()
   at SciChart.Charting.Model.DataSeries.XyDataSeries`2..ctor(Int32 capacity)
   at PreSens.PMS2.ViewModels.Charting.SingleChannel.ChartData..ctor() in C:\**redacted**\ChartData.cs:line 91

Is this a bug or is this feature not yet implemented? Or is this not possible at all?
If it’s not possible to do it that way, what would you recommend to solve this problem with relative and absolute time?


1 vote

Hello SciChart-Team!

I’m trying to export a graph from my application using the “ExportToFile”-method.
This is what my code looks

Chart.ExportToFile(@"C:\Users\miko\Desktop\export.xps", SciChart.Core.ExportType.Xps, false, new Size(2560, 1440));

When this is being called the following exception is being raised

Exception thrown: 'SciChart.Charting.Common.Helpers.ExportException' in SciChart.Charting.dll
Additional information: Exception occured during deserialization of the SeriesSelectionModifier type. The SelectedSeriesStyle property of the Style type cannot be processed. Please be advised that SciChart doesn't handle serialization of objects with propeties of interface type, collection type or custom type.You need to implement IXmlSerializible in such objects to have them handled properly. For more details, please check the InnerException.

This exception seems to be related to the SeriesSelectionModifier I have applied to my chart.

The modifier XAML:

    SelectedSeriesStyle="{StaticResource selectedSeriesStyle}"
    SelectionChanged="seriesSelection_SelectionChanged" />

The style XAML

<Style x:Key="selectedSeriesStyle" TargetType="{x:Type s:FastLineRenderableSeries}">
     <Setter Property="PointMarkerTemplate">
                 Stroke="Black" />

When I remove the SeriesSelectionModifier from my XAML all works as expected.
What am I missing?

0 votes
0 answers

I’m developing the WPF charts application in C#. I have an activated developer license.
When I compile my code with DUBUG mode, XamlParseException occurred. (In release mode, there are no exception)

That only happened in my new SciChart project, old one never happened.
I already reference the library like SciChart.Charting and the runtime license key is included in App.xaml.cs.

0 votes

I am want to have a label on the x axis for each point in my series. I then want to use a label provide to customize that label. Is this possible. if so how do i do that.


0 votes


I’be tried a small sample application where I instantiate a SciChart surface and some series.

I then added our Runtime License Key like it is explained here.

I gave the executable to two different persons. The first one got to see the charts but he got the “powered by SciChart logo”.
The second one wasn’t able to see the charts and got an “expired license” message.

I would understand seeing that if the user were running an application through Visual Studio or has a trial license, but I’m expecting them to be able to run the app normally when adding the Runtime License.

Any help would be appreciated.

Thank you very much.

Kind regards,

0 votes

It is possible to set the YAxis range independently from associated schichartsurface? I would have in a scichartoverview a Yrange settable in order to have a clearer view of the graph



0 votes


I would like to customize the values displayed on the tooltip, when rollover is enabled on my heatmap. After some searching in the examples and in the forum, I realized that there is no answer to my question.

I tried to follow the example in Series With Metadata, but then realized that there is no Append method for heatmap2DArrayDataSeries class. I then, tried to set a new Metadata object to the series, but it is read only.

May I know if there is a way to change/update the metadata in a heatmap?

0 votes

Is it possible to render an image from file as a point marker in the code?

0 votes

Good day,

I have an interesting requirement that I cannot make work. I am trying to define 3 charts, all using the same X-Axis of time. Each chart shows a different piece of data related to a point-set; the actual Value, the Rate of change, and the Sigma (error value) for the calculation. I need to use your DataPointSelectionModifier to select sections of the data from any of the 3 charts, and have the state of selection reflect in all 3.

To do this, I have a PointViewModel that has the 3 data points, plus the timestamp and the implementation of IPointMetadata that provides IsSelected. I use a helper to use this to create 3 DataSeries that are bound to each of 3 SciChartSurfaces. This all works fine.

The issue resides in the behavior of the modifier. Single point selection seems to work, but when a box is drawn on any of the charts, the points that are actually selected are sporadic. Run the attached project to see the behavior. I have tried to capture the behavior in a couple of screenshots.

I have tried playing with various sequences of the modifiers, ReceiveHandledEvents settings, and mousegroupings (which sounds a little like mouse droppings 🙂 but I can’t figure it out.

Please advise what I can do to provide this behavior.


0 votes

I got this problem:

Any idea how to resolve this:

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools>sgen.exe /assembly:F:\AMSV2\AMS\bin\Debug\AMS.exe
Microsoft (R) Xml Serialization support utility
[Microsoft (R) .NET Framework, Version]
Copyright (C) Microsoft Corporation. All rights reserved.
Error: Unable to generate a temporary class (result=1).
error CS0433: The type ‘XamlGeneratedNamespace.GeneratedInternalTypeHelper’ exists in both ‘f:\AMSV2\AMS\bin\Debug\SciChart.Charting.dll’ and ‘f:\AMSV2\AMS\bin\Debug\AMS.exe’
error CS0433: The type ‘XamlGeneratedNamespace.GeneratedInternalTypeHelper’ exists in both ‘f:\AMSV2\AMS\bin\Debug\SciChart.Charting.dll’ and ‘f:\AMSV2\AMS\bin\Debug\AMS.exe’

  • Rui Graca asked 2 months ago
  • last active 1 month ago
0 votes


I was wondering if there’s a way (other than creating a chart modifier) of passing a collection of colors and let the scichart surface automatically color series when they are added based on the collection of colors sent.

If it’s not the case, is there a place in a ChartModifier other than the OnLoaded event handler where I am guaranteed that the ParentSurface property is not null and no renderable series have been loaded yet?

Thank you very much.


0 votes


I could not find the SciChart API documentation for the release we use (3.4.2): neither in the installation files, nor on the SciChart site.
Is that documentation still available somewhere?

BR, Gianni

0 votes

is it possible to put multiple legends in Vertically Stacked Y Axis as shown in attachment?

0 votes

I am trying to disable segment selection of pie chart.
I didn’t found any property to do it and done following way:

  1. derived fron SciChartPieSurface
  2. overrides OnSegmentMouseDown with empty body

Is there better way to do this?


0 votes


I’ve noticed that when I use a custom pointmaker on a renderable series, the preview of the color of that series is missing from the legend of the graph. How can I make it show there? Do I need to update some private property with the “Fill/Stroke” color of the pointmaker?

0 votes

I am creating custom controls and when I inherit from any annotation class (not AnnotationBase), public override void OnApplyTemplate() is called but any this.Template.FindName always returns null. If I inherit directly from ContentControl everything works correctly. I have tried inheriting from CustomAnnotation, BoxAnnotation, AnchorPointAnnotation and several others, all give the same result. I have checked the annotation classes and they all eventually inherit from ContentControl.

0 votes

I have a digital line and I have set IsDigitalLine = true.
But when I zoom it to maximum, I see it is slanted a bit.

Is it expected or I am missing something?


0 votes

hi support,

I asked a question about drawing color bands according to category and I am pointed to this thread

This seems to be the solution I am looking for, however, now I need to show category below the axis label but above the axis title… as shown in the attached image. currently what I did is to create style for AxisTitle to include another SciChart surface with dummy Y-Axis (disabling the MajorTicks, MinorTicks, Bands, Major/Minor gridlines) and one customized NumericAxis as given by the example shown in the thread.

I feel the code will be very complicated if I want to handle different axis type during run-time, may I know if there is any better way to accomplish this?

(P/S: how can I search back the questions that I have posted before if I didn’t bookmark it?)

0 votes


I’m having some problems plotting a graph with pointmetadata. Every time the graph updates, it seems like the id’s of the metadata are different (giving each point new metadatas). Looking at both lists, the count of both are way off and both vary a lot on each update. Shouldn’t both of those lists always match with each other? What could be the problem?

0 votes

Hi there,

I am relatively new to C# and scicharts so you will have to forgive me a little.

In the project I am working on, I am trying to add dynamic renderable series as the user selects items in a tree. I have looked through the online tutorials and forums but still am having trouble. I am creating my own renderable series view model class derived off of LineRenderableSeriesViewModel. I found documentation that I needed to override the ViewType property and set it to a FastLineRenderableSeriesForMvvm.

When I am creating these objects to add to the ObservableCollection which is bound to my scichart surface, I can set the PointMarker and its properties, but not the SelectedPointMarker properties.


    <s:SciChartSurface Style="{StaticResource BasicSciChartSurfaceStyleRateVsTime}"
                       ViewportManager="{Binding RateVsTimePlot.Manipulator.Viewport}"
                       Name="RateVsTime" x:FieldModifier="private"
                       ZoomHistoryManager="{Binding RateVsTimePlot.ZoomHistory}"
                       RenderableSeries="{s:SeriesBinding RateVsTimePlot.RenderableSeriesViewModels}"
                       local:YAxesCollectionBehaviour.AxisSource="{Binding RateVsTimePlot.YAxesViewModels}"
                       local:YAxesCollectionBehaviour.AxisStyle="{StaticResource AxisStyle}"/>         


<Style x:Key="ProdLineStyle" TargetType="s:FastLineRenderableSeriesForMvvm">
    <Setter Property="s:TooltipModifier.IncludeSeries" Value="False"/>
    <Setter Property="SelectedPointMarker">
            <s:EllipsePointMarker Fill="{Binding SeriesColors.ProductionColor}"
                                  Stroke="{Binding SeriesColors.ProductionColor}"
                                  Width="6" Height="6">

ViewModel :

        var renderableSeries = new GenericRenderableSeriesViewModel
            DataSeries = dataSeries.DataSeries,
            YAxisId = dataSeries.AxisId,
            IsSelected = IsSelected,
            SeriesColors = _dataColors[fluidRateType],
            DisplayEnabled = AnalysisInteractionMode.IsLineManipulationDisabled,
            PointMarker = new EllipsePointMarker(),
            StyleKey = "ProdLineStyle"


        renderableSeries.DataSeries.SeriesName = fluidRateType.ToString();
        return renderableSeries;

public void SetRenderableSeriesColorSettings()
        Stroke = SeriesColors.ProductionColor;

        if (PointMarker == null) return;

        PointMarker.Stroke = SeriesColors.ProductionColor;
        PointMarker.Fill = SeriesColors.ProductionColor;
        PointMarker.Height = PointNonSelectedHeight;
        PointMarker.Width = PointNonSelectedWidth;

When I run my app, I see what I am expecting by default, but when I do a point selection rectangle, the behavior is not correct. I only see the line. The points with in the rectangle disappear.

I am trying to move away from having the style set the selectedPointMarker, and doing it through code in the view model just like the function above as users will be able to change these properties in the future. But so far I haven’t found a way to do either.

Am I using the correct classes, or do I need to override something else? Any ideas or suggestions would be greatly appreciated


0 votes

I want to have Y axis starting at 0 at the bottom and max value at the top, but I also want 0 index in heatmap data buffer to be displayed at the max value. I was able to achieve that using your HeatMapExampleView by modifying CreateSeries method like this

return new Heatmap2DArrayDataSeries<int, int, double>(data, ix => ix, iy => h - iy);

Note the iy => h – iy. What I noticed is that after doing that the RolloverModifier stopped working. How can I fix this or is this a bug?

  • Rok Rode asked 2 months ago
  • last active 1 month ago
0 votes

I need a legend that don’t show particular serieses. I used the following example:

<sci_chart:SciChartSurface Name="sciChart" >

                <sci_chart:LegendModifier x:Name="legendModifier" ShowLegend="False" Orientation="Vertical" Background="#FFA6A7AC"
                                      ShowVisibilityCheckboxes="False"  GetLegendDataFor="AllVisibleSeries"
                                      HorizontalAlignment="Right" VerticalAlignment="Top" Margin="10" FontSize="10" />

                <local:SimpleLegendModifier x:Name="simpleLegendModifier" HorizontalAlignment="Right" Margin="10"/>



    <sci_chart:SciChartLegend Name="chartLegend"  FontSize="10"
                    Margin="10" HorizontalAlignment="Right"
                    LegendData="{Binding ElementName=simpleLegendModifier, Path=LegendData}"/>

I want chartLegend to be inside the chart, but I can’t find how to do it…
The legend modifier have the placement property, but the SciChartLegend don’t. Is there a way to do it?

0 votes

I have an annotations that placed at the bottom of the surface (via RelativeY and Y=1), but the cursor’s label overlaps these annotations.
How can i pick up annotations to more greater z-level than the cursor’ label has?
Eventually i want to see my annotation above the cursor’s label.

Showing 1 - 50 of 2k results
Signup now and we’ll keep you updated with product developments and you will be notified the moment SciChart iOS Charts is released and available.
Signup now and we’ll keep you updated with product developments and you will be notified the moment SciChart Android Charts is released and available.
Your details have been received.
We like to make sure we only send information to clients who want to hear from us, so if you check your email now, you will find a confirmation email from us. Please click the confirm link and you'll will be added to our updates.