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

0 votes
0 answers

I’m putting together a fairly simply column chart but my columns aren’t appearing how I want them to.

Basically, I’m creating 20 columns for each chart (picture below) and I’m getting various widths (despite setting UseUniformWidth to true and using the same DataPointWidth) and the first column isn’t being shown. The top chart, for example, should be a repeating pattern of red, green, blue, and purple.

Column Charts

Here’s how I’m building the ColumnRenderableSeriesViewModel and adding it to the HighPressureRenderableSeries…

XyDataSeries<int, double> dataSeries = new XyDataSeries<int, double>() { SeriesName = $"{modbus.Name} - {channel.Name}" };

ColumnRenderableSeriesViewModel series = new ColumnRenderableSeriesViewModel()
    Stroke = channel.Color,
    DataPointWidth = .1,
    UseUniformWidth = true,
    XAxisId = "ChannelsId",
    YAxisId = "PressureId",
    Fill = channel.ColorBrush,
    DataSeries = dataSeries,
    ZeroLineY = 0.0

dataSeries.Append(x: channel.Index, y: channel.Value); // channel.Index goes from 0 - 19


And here’s the XAML for the High Pressure chart…

<sci:SciChartSurface ChartTitle="High Pressure" RenderableSeries="{sci:SeriesBinding HighPressureRenderableSeries}">
        <sci:NumericAxis AxisTitle="Channels" Id="ChannelsId" DrawMajorBands="False" />

        <sci:NumericAxis AxisTitle="Pressure" Id="PressureId" DrawMajorBands="False" VisibleRange="0,25" VisibleRangeLimit="0,25" />

            <sci:RubberBandXyZoomModifier />
            <sci:ZoomExtentsModifier />

Any tips or advice would be appreciated. I’m sure I’m just missing something simple.

0 votes

Hello ,

I have created a SimpleScatterChart3D application using the dll’s from SciChart Official Releases NuGet Feeds (myget) and when i plotted 20 thousand data points to the chart i am getting Access Violation Exception in SciChart.Charting.dll .

Can you please let us know how can i resolve this issue.


0 votes
0 answers


I want to change to font name & font size for all modifier tooltips (CursrorModifier, RolloverModifier and so on )

I discovered that all tooltips use TextBlocks with style HintDataItemsStyle. This is its definition:

  <!--  Label used in cursors  -->
  <Style x:Key="HintDataItemsStyle" TargetType="TextBlock">
      <Setter Property="apc:RelativeSourceBinding.AncestorType" Value="r:TemplatableControl"/>
      <Setter Property="Foreground" Value="{Binding Path=(apc:RelativeSourceBinding.Ancestor).Foreground, RelativeSource={RelativeSource Self}}" />
      <Setter Property="FontWeight" Value="{Binding Path=(apc:RelativeSourceBinding.Ancestor).FontWeight, RelativeSource={RelativeSource Self}}" />
      <Setter Property="FontFamily" Value="{Binding Path=(apc:RelativeSourceBinding.Ancestor).FontFamily, RelativeSource={RelativeSource Self}}" />
      <Setter Property="FontSize" Value="{Binding Path=(apc:RelativeSourceBinding.Ancestor).FontSize, RelativeSource={RelativeSource Self}}" />
      <Setter Property="Margin" Value="{Binding Path=(apc:RelativeSourceBinding.Ancestor).Margin, RelativeSource={RelativeSource Self}}" />

So, I feel this would be easy to change font parameters just setting them to some parent (due to RelativeSourceBinding.Ancestor binding). But I cannot figure out which. I tried to change font size for series, for axes and even for surface – no result.

0 votes

I am trying disable AutoRange=”Always” property for SciChartOverview. As for now I see only one way, change SciChartOverview template. But VS generate wrong template for SciChartOverview, chart line gone, after template replacement (I am using “Edit Template” -> “Edit Copy” feature from VS designer mouse context menu )

Here is template:

    <Style TargetType="{x:Type s:SciChartOverview}">
        <Setter Property="FontSize" Value="20"/>
        <Setter Property="FontWeight" Value="Normal"/>
        <Setter Property="Background" Value="{Binding (s:ThemeManager.Theme), Mode=OneWay, RelativeSource={RelativeSource Self}}"/>
        <Setter Property="Foreground" Value="{Binding (s:ThemeManager.Theme), Mode=OneWay, RelativeSource={RelativeSource Self}}"/>
        <Setter Property="Padding" Value="0"/>
        <Setter Property="Fill" Value="{Binding (s:ThemeManager.Theme), Mode=OneWay, RelativeSource={RelativeSource Self}}"/>
        <Setter Property="Stroke" Value="{Binding (s:ThemeManager.Theme), Mode=OneWay, RelativeSource={RelativeSource Self}}"/>
        <Setter Property="SelectedRange" Value="{Binding Axis.VisibleRange, Mode=TwoWay, RelativeSource={RelativeSource Self}}"/>
        <Setter Property="RenderableSeriesStyle">
                <Style TargetType="{x:Type s:FastMountainRenderableSeries}">
                    <Setter Property="Fill" Value="{Binding Fill}"/>
                    <Setter Property="DataSeries" Value="{Binding DataSeries}"/>
                    <Setter Property="Stroke" Value="{Binding Stroke}"/>
        <Setter Property="RenderableSeriesType" Value="{x:Type s:FastMountainRenderableSeries}"/>
        <Setter Property="ScrollbarStyle">
                <Style TargetType="{x:Type s:SciChartScrollbar}">
                    <Setter Property="Orientation" Value="Horizontal"/>
                    <Setter Property="GripsLength" Value="25"/>
                    <Setter Property="Background" Value="Transparent"/>
                    <Setter Property="ViewportStyle">
                            <Style TargetType="{x:Type Control}">
                                <Setter Property="Opacity" Value="0"/>
                    <Setter Property="NonSelectedAreaStyle">
                            <Style TargetType="{x:Type Path}">
                                <Setter Property="Fill" Value="{Binding (s:ThemeManager.Theme), Mode=OneWay, RelativeSource={RelativeSource Self}}"/>
        <Setter Property="Template">
                <ControlTemplate TargetType="{x:Type s:SciChartOverview}">
                    <Grid x:Name="PART_Container">
                        <s:SciChartSurface x:Name="PART_BackgroundSurface" AnimateZoomExtentsCommand="" BorderThickness="0" Background="{TemplateBinding Background}" DebugWhyDoesntSciChartRender="False" Foreground="{TemplateBinding Foreground}" FontWeight="{TemplateBinding FontWeight}" FontSize="{TemplateBinding FontSize}" Padding="{TemplateBinding Padding}" RenderPriority="Normal" UseLayoutRounding="True" ZoomExtentsCommand="">
                                <s:NumericAxis AutoRange="Always" DrawMajorGridLines="False" DrawMajorBands="False" DrawMinorGridLines="False" IsPrimaryAxis="True" TextFormatting="###E+0" UseLayoutRounding="True" Visibility="Collapsed">
                                <s:NumericAxis AutoRange="Always" DrawMajorGridLines="False" DrawMajorBands="False" DrawMinorGridLines="False" IsPrimaryAxis="True" TextFormatting="###E+0" UseLayoutRounding="True" Visibility="Collapsed">
                        <s:SciChartScrollbar x:Name="PART_Scrollbar" Axis="{TemplateBinding Axis}" Height="{Binding ActualHeight, ElementName=PART_BackgroundSurface}" Style="{TemplateBinding ScrollbarStyle}"/>

The main task for me, set fixed VisibleRange for YAxis.

0 votes
0 answers

var lineData = new XyDataSeries<DateTime, double>();

if I have a XyDataSeries<DateTime, double> then I can get the sweeping animation to work. If I change the XyDataSeries to XyDataSeries<DateTime, int> it fails to produce the chart and gives an exception stating

SciChartSurface didn’t render, because an exception was thrown:
Message: Specified cast is not valid.

Stack Trace: at SciChart.Charting.Visuals.RenderableSeries.Animations.Transformations.Point2DSeriesTransformation1.SweepTransform(T pointSeries, Double currentProgress)
at SciChart.Charting.Visuals.RenderableSeries.Animations.Transformations.Point2DSeriesTransformation
1.O(IPointSeries D, Double I)
at SciChart.Charting.Visuals.RenderableSeries.Animations.SweepAnimation.Animate(IRenderPassData rpd, Double currentProgress)
at SciChart.Charting.Visuals.RenderableSeries.Animations.SeriesAnimationBase.OnRender(IRenderPassData rpd)
at SciChart.Charting.Visuals.RenderableSeries.BaseRenderableSeries.WFB(IRenderContext2D D, IRenderPassData I)
at A.IJ.T(ISciChartSurface D, RenderPassInfo I, IRenderContext2D J, Int32 M)
at A.IJ.M(ISciChartSurface D, RenderPassInfo I, IRenderContext2D J)
at A.IJ.RenderLoop(IRenderContext2D renderContext)
at SciChart.Charting.Visuals.SciChartSurface.DoDrawingLoop()

Is this possible or does yaxis have to be a double? If I use fade animation it works properly. Thanks.

  • John asked 5 days ago
1 vote
0 answers

Regarding Andrews comment on my question in this thread:

Thanks Andrew,
actually I need to know which nearest Y-value my XY line series has at the given VerticalLineAnnotationViewModel position. I need this value only for some calculation no need to show this on screen.

I found this post:

But neither your answer Andrew nor the suggested solution of Alitec Developer works for me. The VerticalSliceHitTest() returns always a HitTestInfo with default values and the FindIndex() approach is not suitable for me because I have unsorted data.

0 votes

I am demoing the product and read the article on using a custom theme. I am trying to get the x and y axis to be white as well. Which property should I use for this?

  • John asked 6 days ago
  • last active 6 days ago
1 vote

NuGet package: (SciChart nightly)

When building a simple WPF NET Core 3.0 app, a native dependency is found to be missing on clean machines (vcomp140.dll).

The only change from the default WPF NET Core 3.0 template, is the addition of the option for Self-Contained-Deployment:


(I build for win-x86, since NET Core does not have an Any-CPU equivalent.)

The whole project file for reference:

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">


  <PackageReference Include="SciChart" Version="" />
  <PackageReference Include="SciChart.DirectX" Version="" />

When doing this, a build will result in the target folder containing: the application, all of the application dependencies (other projects, NuGet packages, references, etc), and all of the needed NET Core run-time files (including a bunch of DLLs that are normally installed by a C++ redistributable, needed for the NET Core run-time to function).

The result is a target folder ranging from about 100 – 200 MB (only about 60 MB compressed) that is ready to run on any clean machine with a minimum OS version of Windows 7 SP1 (with a lot of updates), without having to install a NET run-time or any other system-level dependencies.

When run on a clean machine (I tested with virtual machines for Windows 7 SP1 and Windows 10, with no dev tools installed), a XAML parse exception occurs when the SciChartSurface tries to load the native dependency:


I ran dependency walker on this to find the following dependencies:


All of these are present on the Windows 7 SP1 (with updates) virtual machine I was running, except for vcomp140.dll. I confirmed that copying the file over from my dev machine to the application folder on the virtual machine caused the error to disappear, and SciChart seems to be working fine now.

For now I will simply add this file as a reference DLL to my project and copy that over, but would it make sense to add this to one of the SciChart NuGet packages in this case? The only problem is you probably wouldn’t want to add it unconditionally, but somehow only for self-contained builds, and there just isn’t a lot of information about self-contained builds at the moment, or how to detect them or anything like that. I suppose a build-time check for the “RuntimeIdentifier” project property would work, as that always results in a self-contained build, but it’s honestly a little hard to say.

0 votes

Trying out the latest SciChart beta and my XML style license no longer works, and redirects me to get a JSON one, which I don’t seem to have

0 votes
 var annotationMax = new HorizontalLineAnnotation () {
                            Stroke = new SolidColorBrush (Colors.DarkRed),
                            HorizontalAlignment = System.Windows.HorizontalAlignment.Center,
                            Y1 = item.MaxBandwith,
                            Y2 = item.MaxBandwith,
                            X1 = item.FromWavelength,
                            X2 = item.ToWavelength,
                        var label = annotationMax.AddLabel ();

after last line label is null

0 votes

Hello SciChart,

I’m using SciChart:PerformanceHelper.EnableExtremeResamplers=”True” on my SciChart surface to display data with multiple gaps properly (NaN values), however the XPS output using ExportToFile does not work well and only renders the data to the first gap. Is there a workaround to this issue or how can it be fixed? Thank you.

Kind regards

0 votes

Hi there,

I am trying to generate a stacked columns chart to display the drivers’ stints during a moorsport race. The problem that I am unable to solve is related to the width of the columns of the graph. Although I am setting datapointwidth = 1.0, so that the column takes all the space, this only happen if I display one driver/column (see images). When adding new driver/columns, the columnwidth of every column shrinks and does not take up all the space (see images). It looks like the datapointwidh follows the next relationship :

Datapointwidth = 1 / Number of Columns

Is there anyway I can force the stackedcolumnrenderableseries to always have a datapointwidth of 1.0?

1 vote

Hi –

I upgraded to the Scichart WPF Nightly Beta v 6.0.XXX Build from October 22nd, 2019.

When I try running it, it says that I need a JSON license (not the XML), and directs me to go to

However, I cannot find my JSON license keys.

Please help, as I cannot even start SciChart (and I cannot roll back).

0 votes

I’m having trouble with YAxis VisibleRange and ZoomExtentsModifier. I want to change the display range of the Y axis dynamically by changing Min and Max of VisibleRange of YAxis from ViewModel. But when ZoomExtentsModifier is executed by double-click etc, Min and Max changes of VisibleRange are not reflected on the screen. If the screen is enlarged or reduced by means other than ZoomExtentsModifier, this state will be resolved and the changes will be reflected.
Please let me know any solution.

0 votes


I am trying to use StackedMountainSeries to implement the trade data as following pic.
enter image description here

But I noticed an unexpected behavior (incorrect.png).

The blank area is displayed near the center red point (which data value is 0).

How to fill the blank area? And what is the correct way to render the trade data as same as the attached pic?


  • david xue asked 3 weeks ago
  • last active 2 weeks ago
0 votes


I wanted to setup a heatmap colorpalette where ColorMaximum is dynamic.So heat values starts from 0 to unknown.
I want to have a colormap where heatvalue ranges like 0-10 should be mapped to color A, 10-50 by color B, 50-100 by color C and 100 onwards to maximum value by colorD. Is it possible?

Required ColorPalette as below
0-10 – ColorA
10-50 – ColorB
50-100 – ColorC
100-Infinity- ColorD

  • deepak b asked 3 weeks ago
  • last active 2 weeks ago
0 votes


Does Scichart WPF 2D Pro supports DirectXRenderring feature? If not which product suports it?

  • deepak b asked 3 weeks ago
  • last active 2 weeks ago
0 votes

Could you tell me how to check all questions I posted in the past?

I have many questions I haven’t got answer yet. Please check if there are questions which ended with my question.

Thank you.

0 votes

If an observable collection changes with a “Reset” notification, the AxesBinding clears the surface’s axis collection but does not add the new axes from the bound source collection.

The problem seems to be, that SourceCollectionBase<TView, TViewModel> adds the axes from NotifyCollectionChangedEventArgs.NewItems, which is always empty if the action is “Reset” (this is enforced in the constructor of NotifyCollectionChangedEventArgs).

I already have implemented a workaround in my project, but it would be great, if you could fix this bug (and give me a free renewal, so that I can use the fixed version, just kidding).

SeriesBinding seems to have problems with “Reset” collection changes too. It works on the first “Reset” but not on the second one.

0 votes

How can I get the chart area width in pixel to calculate pixel per unit eg. pixel/mm?

  • Roland D asked 3 weeks ago
  • last active 2 weeks ago
0 votes

I followed the instructions in the tutorial “Custom ChartModifiers – Part 5 – Select and Drag a Data-Point” to create my program.

After moving data points by dragging using the mouse, I called IDataSeries.InvalidateParentSurface to redraw the chart. However, it doesn’t work. I also tried calling SciChartSurfaceBase.InvalidateElement() but doesn’t work either. The user needs to resize the Window in x-direction to redraw the chart. Is there anything I can do to make IDataSeries.InvalidateParentSurface working? Thanks.

  • Jerry Chen asked 3 weeks ago
  • last active 2 weeks ago
0 votes

I would like to be able to use a triangle annotation that has a size parameter, so that I can add triangles of different sizes to chart.
I have seen the “Trade Markers” example that uses custom annotations defined by a path. But those annotations are a fixed size. How can I give them a size parameter?

I have tried this, but the point of the triangle doesn’t align with the X value, instead the triangle starts to the right of the X value.
public static CustomAnnotation UpTriangle(int x, double y, double size, Brush color, string axis)
PointCollection myPointCollection = new PointCollection
new Point(0, 0),
new Point(1, 1),
new Point(-1, 1)

  return new CustomAnnotation()
    X1 = x,
    Y1 = y,

    Content = new Polygon()
      Points = myPointCollection,
      Height = size,
      Width = size,
      Stretch = Stretch.Fill,
      Fill = color,
      Stroke = color,
      StrokeThickness = 1,
    YAxisId = axis

Thank you for your help.

  • Steven M asked 4 weeks ago
  • last active 4 weeks ago
0 votes

I have some legends that have more items than the screen allows. Is there an ‘overflow’ property of some kind that can be set so the legend automatically shows a scrollbar when it contains more items than it can show?

  • Greg Knox asked 1 month ago
  • last active 4 weeks ago
0 votes
0 answers

In my SciChart InteractionToolbar, I have a slider that changes the stroke thickness of the selected series.

<TextBlock Text="Line Thickness:"/>
<wpfTool:IntegerUpDown Foreground="White" 
Value="{Binding SelectedSpectrum.StrokeThickness, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" ValueChanged="Thickness_ValueChanged">

This works correctly until a new series is selected. When a new series is selected, the previously selected series thickness returns to its default of “1”. Is there a way I can persist my StrokeThickness value even when the series is no longer selected?

    private void Thickness_ValueChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
        if ((sciChartSurface.RenderableSeries != null) && (e.NewValue != null))
            var selectedSeries = sciChartSurface.RenderableSeries.Where(s => s.IsSelected == true).FirstOrDefault();
            if (selectedSeries != null)
                selectedSeries.StrokeThickness = (int)e.NewValue;
0 votes

I have two questions.

I want text annotation witch is selectable but user can not move it. All User can do is delete.
Are there any good idea?

How to catch the mouse over event of the AnnotationViewModel to be binded?

Thank you.

0 votes


I tried to show bitmap file image to scichart(pic1).

I am using BoxAnnotation and set the image to background.

please check the actual image scichart showed(pic2)

It’s blurry. Are there any solution to sho bitmap as it is?

P.S How to see only questions I asked in the past?

0 votes
0 answers


I want to get a polar chart with 360 degree on x-scale with a constant tick step. I found how to do it with MajorDelta. My code is:

            <s:PolarXAxis Name="xAxis"
                          AxisTitle="Polar Chart"

And I got a 30-degree step of major ticks. But tick labels were lost. It is only on 0 and 240. I get all labels when I add some data in series and call sciChart.ZoomExtents() as in basic example. But initially, I don’t have any data to show. Moreover, I’m using MVVM and I need to control VisibleRange of Y axis, so ZoomExtents is unlikely.

The second issue with the polar chart – how to control VisibleRange of Y-axis? My code is:

            <s:PolarYAxis Name="yAxis" 
                          VisibleRange="{Binding YVisibleRange}"

But it is not working. I tried to bind Axes instead of VisibleRange only, but I got the same result. Any suggestions?


0 votes
0 answers

Hi SciChart,

Our requirement is to have polygon shapes be drawn at runtime, and to have a “rich” tooltip display for the user when the user hovers over one of these polygons.

Using a CustomRenderableSeries, we’re able to plot polygons, each as its own CustomRenderableSeries. The tooltip displays on a mouse hover when the mouse is within a few pixels of the edge of polygon, but it does not display when the mouse hover is in the middle of a polygon.

We have also explored creating CustomAnnotations of these polygonal shapes – however, the CustomAnnotation object type does not have a ‘Path’ or ‘Points’ property as is shown in the arrow shapes declared in the XAML of the ‘Annotations are Easy’ WPF example. Because we won’t know the paths of these shapes until runtime, this does not meet our requirement.

Is there a way to have tooltips appear within polygons, or a way to assign ‘Path’ data to a CustomAnnotation? Or any other ChartModifier that might suit our needs?


0 votes

Could you tell me how to binding anotation from view to source to be created by AnnotationCreationModifier.

0 votes

Hi there,

I use SciChart v5.4.0.12119 trial to display FastLineRenderableSeries in my WPF application. It works with the default black background. But when I change the background to white (), the background gets messed up in white-black strips.

I tried to disable hardware acceleration. hwndSource.CompositionTarget.RenderMode = System.Windows.Interop.RenderMode.SoftwareOnly; It doesn’t help.

What could cause the issue?


  • Jun Luo asked 1 month ago
  • last active 1 month ago
0 votes


I have a line series with 500k to 8 million data points and I use the StrokePaletteProvider to highlight certain peaks in different colors. But the colors only appear right at a certain zoom level, without zooming in it is a mixture of my default line color and the chosen StrokePaletteProvider color. Is there anything I can do about this?

  • Roland D asked 1 month ago
  • last active 2 weeks ago
0 votes

I added LineAnnotation like attached picture.

I can grab the end of line and change length of line.

But I can’t grab the line itself, it means I can’t move the line.

What do you think the problem?

0 votes

Is it possible to bind ImageSource like camera image to the scichart and to do zoom or span modifier?

Thank you.

0 votes
0 answers

I would like to add labels to contour lines as shown in this previous post.

I have created the heat map with contours, and now I want to programmatically add labels. To this end. I have created a contour series in my view model

        var contourSeries = new FastUniformContourRenderableSeries
            DataSeries = dataSeries,
            ZMin = 0.0,
            ZMax = 50.0,
            ZStep = 4.0

This is the same series as I have already plotted. I have looked through this object, trying to find the plotted contour lines, so I can calculate positions to put labels, but I have not found the data. Can you tell me how to extract the plotted contour curve data?

0 votes

I was able to develop and run everything using the scichart alpha build from Jun 11th.
This includes SciChart2D, SciChart3D, with a minor error.
I was using .NET Core 3.0 Preview 6+, Visual Studio 16.3 Preview on a Win7 box.

However, the client wants to upgrade to Windows 10.
So I installed Visual Studio 16.3 (2019), and .NET Core 3.0 and I was able to build all the packages etc.

However, when launching the WPF part of the application, I was at first encountering AccessViolation exceptions in CreateRenderTarget().

I removed all my SharpDX components, and tried again. I was able to get around this problem by using a version of SciChart 6.0 greater than the Jun 11th alpha version – v.

I can now load SciChart2D package.

However, SciChart3D is now throwing null reference exceptions when loading. I’ve included the screenshot. This occurs even with the 6.0.0-beta version.

Please advise.

0 votes

Hello Team,

We are going through the Trial version of Sci Chart and we are specifically interested in 2D Scatter Chart and Simple Scatter Chart 3D.

For 2D Chart we tried to bind up-to 1 Million data points and it worked perfectly and we can zoom in 2D Scatter Chart to view each and every point.

When we tried the same for Simple Scatter Chart 3D, it was competitively slower than 2D Chart.

can we do the same in Simple Scatter Chart 3D?

Currently the whole chart is zooming in. Is there a way so that user can zoom in (XAxis , YAxis ,ZAxis ) individually so that each and every point in the chart can be View-able ?


0 votes

ICoordinateCalculator calculator = this.SciChart.XAxis.GetCurrentCoordinateCalculator();

During the first run, the xAxis and calculator both are not null nor empty, but only the calculator.size is 0. Only after the second run the size has value. Why is this happening? Or is there any alternative way to get the calculator.size?

  • Adrian Loh asked 2 months ago
  • last active 2 months ago
0 votes

I would like to create custom annotation combined with multiple annotations like attached picture.(Text + box + line * 3)

Are there any good solutions?

Now I am creating it with separate each annotations showed code below. In this way, it is difficlt to move or delete them with group.

            <s:TextAnnotation Foreground="Black" 
                              Text="XXX um" 
                              Y1="6" />
            <s:BoxAnnotation X1="84" X2="96" Y1="2" Y2="11" Background="#77FFFFFF" />

            <s:LineAnnotation Stroke="Black" X1="85" X2="95" Y1="3" Y2="3"/>
            <s:LineAnnotation Stroke="Black" X1="85" X2="85" Y1="6" Y2="3"/>
            <s:LineAnnotation Stroke="Black" X1="95" X2="95" Y1="6" Y2="3"/>

And one more question.

How to catch the event of adding annotation of view side from viewmodel?

Thank you.

0 votes


I have two questions,

First , when I using :

   sciChart.ExportToFile(SaveFileName, Core.ExportType.Jpeg, false,savingImageSize);  

In ContoursView ,this function works well, however in UniformMesh3DChart and SurfaceMeshContours it dosent work.
Only these parameters can be used:

    sciChart.ExportToFile(SaveFileName, Core.ExportType.Jpeg, false);  

as these parameters they dont work either:

    sciChart.ExportToFile(SaveFileName, Core.ExportType.Jpeg, true);  

Second, As “ExporToFile()” function, Can I export to file with ColorMap in UniformMesh3DChart and SurfaceMeshContours ?

0 votes

In many of our applications we will have a number of flags that need to get plotted with data, these are usually each just represented by a single bit in a 32 bit integer.

Would it be possible to write a custom render-able series that plots a trace for each bit, or alternately would it be possible to point multiple custom renderable series at an XyDataSeries and have each of them plot a single bit.

I have started to have a look into this but am not sure how much of the re-sampling process happens before draw, and if this would make this a pointless exercise.

In addition, how much performance is lost by creating custom renderable series (vs using a number of the FastLineRenderableSeries on a dx surface)

  • Hugoagogo asked 2 months ago
  • last active 2 months ago
0 votes


I am trying to render a HeatMap and align labels next to squares (see the attached image). However, I am running into two issues.

Firstly, I am using RenderTransform to shift labels so that they are aligned with the squares instead of being on the borders between them. It works, but does not look good as I resize the control.

Second, the axes render the last label outside the view. I tried setting VisualRange and VisualRangeLimit but it did not help. It hides the last data column (or row) and still displays the last label.

Any suggestions on how I can solve it?

I am attaching a sample project.

Thank you in advance!

0 votes

I need to know if the user is dragging the entire line annotation or just dragging one end.
If the user is dragging the entire line, I see this cursor:
enter image description here

If the user is dragging just one end, I see the hand cursor:
enter image description here

How can I detect this from the code behind?

I have looked at all of the properties and commands.


0 votes


I would like to plot a series as a solid line AND include error bars. The way I do this now is to define a single series:

var fSeries    = new HlcDataSeries<double, double>();
fSeries.SeriesName = $"My Series!";

And then two different ViewModels:

var fLineVm = new LineRenderableSeriesViewModel();
var fErrorVm = new ErrorBarsRenderableSeriesViewModel();

And set the data series to belong to both:

fLineVm.DataSeries = fSeries;
fErrorVm.DataSeries = fSeries;

This looks ok. But when I show the legend, I see “My Series” in the legend twice, and I can control the error bars separately from the line series.

What I want to happen is that I see the series a single time in the legend and if I turn it off (uncheck it) everything disappears.

Right now, i’m adding those two ViewModels to an ObservableCollection of IRenderableSeriesViewModels and then SeriesBinding to display them.

0 votes

I’m looking for a way to use the mouse wheel to adjust the range on whatever Y-Axis (NumericAxisViewModel) my mouse is over and came across a HasYAxisDragModifierIncludeAxis property.

I’ve set it to True and False and I don’t notice a difference on the axis.

  • Greg Knox asked 2 months ago
  • last active 2 months ago
0 votes

I am doing all of my integration with SciChart using c# code.
Is there a way to simply customize the text of the Rollover modifier?

By default it shows

x: somevalue
y: somevalue
z: somevalue


when a data point is selected. I would like to simply change it to


Time: somevalue
Profit: somevalue

Is there a way to do this in pure c# without having to define xml templates etc?

0 votes


I am using VerticalLineAnnotation to point to a specific value of XAxis. I want to move this annotation by binding this X1 property and the SelectedX property of ViewModel. But even if SelectedX property was changed, the location of this annotation was not changed immediately. It was changed only after operating the chart (Zooming, etc).
Please let me know any solution to move an annotation immediately.


0 votes


I have a simple digit chart with four possible values (0, 1, 2, 4).
I want to show all values on Y axis label, but it only shows 0 and 2, is there any solution?

Actual standing

0 votes

I recently needed to change the Rotation Angle of a polar plot from the default to 90 degrees. We have line annotations for different points on the polar plot. After the change, the annotation was still plotted on the default Rotation Angle.

I manually updated the points like this for the annotations to work:

var line = new LineAnnotation();

                var x1 = (double)NewSeries.DataSeries.XValues[0];
                var x2 = (double)NewSeries.DataSeries.XValues[1];

                if (x1.Between(0, 90) && x2.Between(0, 90))
                    x1 += 270;
                    x2 += 270;
                    x1 -= 90;
                    x2 -= 90;

                line.X1 = x1;
                line.X2 = x2;

Is there another way to update the annotation or is something like this the preferred way?

0 votes

Dear scichart support.

I’d like to make the two map (Heat map and bubble chart) mixed like attached picture.

Is it possible?

and also I’d like to confirm that it is possible to bind heatmap with observableCollection.

0 votes

When putting a chart into a listbox, the listbox doesn’t detect if the chart is clicked.

How can i change this, or there is any workarround to it? because i need it to select the parent ListBoxItem.

The problem is that when you put an event listener on the chart it doesn’t know where it is in the list, and when you put it in the listbox it doesn’t see it at all.


PS: I attached an example project where this happens.

Showing 1 - 50 of 2k results