RSS Feed
SciChart WPF v4.2.2 Build 9777 Released!
Posted by Julia Skorobogata on 17 February 2017 03:25 PM

We are pleased to announce the release of SciChart v4.2.2 Build 9777. This is a minor update which contains many critical bug fixes and minor improvements. It is strongly advised for users of SciChart v4.x to upgrade to this version, which is a drop-in replacement.

We’re committed to providing our customers with the best experience possible, and as a result, we continue to update and improve our popular WPF Charts components!


What’s New in v4.2.2?

Critical Bug Fixes
  • Updated Installer to force upgrade / uninstall of old version of scichart when installing 4.2.2. Fixes issue where SciChart Licensing Wizard crashes after install when a previous version was installed
  • Added some lock(SyncRoot) to public methods on DataSeries where getting indices range, or getting Y Range. Prevents race conditions and crashes.
  • SC-3946 VerticalLineAnnotation. ShowLabel crashing issue. Fix for Null reference exception in MouseDown event in a AnnotationLabel. fix for “disappearing proper Labels in VerticalLineAnnotation”
  • SC-3918 Fixed 3D VertexSelectionModifier crashes in some cases
  • Fix for memory leak in series binding (Ticket “Releasing Heatmap2DArrayDataSeries from memory”)
  • Test for releasing memmory when Collection is changing in Series biding.
  • Test for memory leak in Series binding caused by unsubscribing from ParentSurface event.
  • SC-3862 On Finalize of SciChartSurface in an ItemTemplate, you get occassional ‘Element has already has a logical parent. It must be detached from the old parent before it is attached to a new one’ error. Stopped removing Axis from SciChartSurface in Unloaded handler in Finalizer . SuspendUpdates around UpdateLayout() in PrepareSurfaceForExport stops exceptions thrown/caught in export
  • SC-3857 Fixed the issue when LogAxis threw if VisibleRange contained NaNs (
Other Bug Fixes
  • Added fix for Axis.TitleStyle with DataTemplate when exporting;
  • SC-3937 Dev Mode: add “Export to…” option to the Toolbar for testing purposes
  • SC-3958 Fixed the issue with points selection when selection rect goes outside the window bounds (
  • SC-3943 Fixed the issue with setting the Content property of CustomAnnotation to a non-UI element; added a test(
  • SC-3924 “Stacked Columns Side by Side”: rollover marker doesn’t appear. Added new control template and a style. Modified converter so that he can handle null values, we need this for GradientsBrush
  • SC-3926 Rollover/Cursor/Tooltip wrong tooltip for the last point in a digital series
  • SC-3199 Fixed “Create Custom Theme” example – no render series appear. because of Freeze AttachedProperty we can not create a modifieble copy of brush for XAML renderer
  • SC-3929 Fixed SelectionOffset issue in pie/donut charts
  • SC-3920 Fixed the “Using Tooltip Modifier Tooltips” example (
  • Fixed Legend PointMarker disappearing after export issue;
  • SC-3913 Fixed the issue when BoxPlotSeries doesn’t draw well on a vertical chart; added default fill brush for BoxPlotSeries; added lines clipping to the XAML RenderContext; added visual tests
  • Fixed legendModifier horizontal\vertical scrollbars visibility when exporting
  • Fixed draw text with YAxis.FlipCoordinate = false;
  • SC-3671 Fixed VerticalAlignment Top and Center issue in VerticalLineAnnotation. Added checking if anchors dataPoint are NaN. The same was done for HorizontalLineAnnotation
  • Added a test when all values are the same, autorange does not calculate an invalid range
API Improvements
  • Made AttachAnnotation/DetachAnnotation methods virtual in the CompositeAnnotation class to allow overidding the default behavior(see the ticket #PLL-483-27180);
  • Code refactoring. Added a possibility to override Modifier action when a specific Modifier Key is pressed.
  • SC-3934 Fixed the issue when MajorDelta,MinorDelta bindings get broken (or not updated) after changing AutoTicks. (
  • Fixed LegendModifier.Legend ScrollBarVisibility issues and binding errors
  • Supply correct error message in AxisCollection.GetAxisById() when more than one, or no axis exists with ID
  • SC-3859 ISciChartSurfaceBase interface does not include ExportToBitmap / ExportToFile methods
  • SC3D-359 Combined D3D9 and D3D10/11 C++ Dlls in SciChart3D Native to reduce DLL count and SciChart.Charting3D.Dll size by half.
    – Implemented mechanism to choose D3D9 or D3D11/10 in Viewport3D.cs.
    – Deleted all projects associated with D3D9
    – changed for native code to match twister changes
    – a flag can be used to start in d3d9 mode
  • Added missing XML comments for PieChart components;
  • Add ability to disable click Selection of segments
  • Rename property “AllowSelection” to “AllowClickSelection”
  • SC3D-361 Refactor SCRTImmediateDraw.SetBlendState() / SetRasterizerState() / SetDepthStencilState to use push pop stack
  • SC-3827 Modify SourceCollectionBase to link to INotifyCollectionChanged not ObservableCollection<IRenderableSeriesViewModel>
Aesthetic Issues Resolved
  • SC-3917 Fill gradients for candlesticks – refactored XamlPolygonDrawingContext a little (
  • SC-3917 Fixed candlesticks gradients for Hs, Hq brushes (
  • SC-3916 Fixed gradient for vertical charts with DirectX renderer
  • SC-3917 Improved candlestick series drawing with gradient brushes
  • SC-3916 Considered custom transformations on brush for gradient fill
  • SC-3957 Investigated and fixed when pie/donut charts not resizing well issue. Fixed pie/donut issue when one segment is 100% the pie disappears
  • SC-3917 FIxed gradient fill with XamlPolygonDrawingContext (
  • SC-3944 Fixed the issue with opacity not working for some series types; added tests (
  • SC-3914 Fixed series Opacity issue with XamlRenderContext. (
  • SC-3916 Working on gradient rotation for filled series – added rotation to XamlPolygonDrawingContext (
  • Fixed usage of aliasing in XamlLineDrawingContext
  • SC-3912 Demo App shows an old logo
  • Documentation: Updated Installing SciChart page to include Uninstalling
  • SC3D-362 3D CrossHairsMode.Plane is hard to see because of blending
  • SC-3836 Add box outline to 3D CubeGeometry example


Where to get it?!

You can get all the SciChart Releases from the page. If you haven’t created an account with yet, please do. You will need to in order to access the downloads.

If you are a customer of SciChart you can also access our binaries via our NuGet feed as well as Github (for source-code customers).

What Else is on our Roadmap?

Recently we have taken a moment to evaluate where we have been, and are planning to go as a business. There is SciChart Annual report 2016 which shows how we are doing as a business.

We have also shared SciChart Vision and Roadmap – for 2017 and beyond.

Please take a moment to read the above and we would very much value your feedback on our current and future roadmap for SciChart!

Best regards,
[SciChart Team]

The post SciChart WPF v4.2.2 Build 9777 Released! appeared first on Fast, Native Chart Controls for WPF, iOS, Android and Xamarin.

Read more »

DirectX WPF Chart Compatibility
Posted by Andrew on 17 January 2017 10:40 AM

SciChart now features an optional DirectX10 based renderer. This is currently included as an add-on to the SciChart High Performance WPF Charts library. For more info about the renderer plugins that SciChart provides, please see the articles High Quality vs. High Speed vs. DirectX Renderer Plugins as well as How Fast is SciChart’s DirectX WPF Chart.

Once we move away from the happy, safe world of .NET and into unmanaged code, we need to take a few extra steps to ensure compatibility! This post aims to address compatibility issues with using the Direct3D10RenderSurface, a premium add-on to SciChart High Performance WPF Charts.

Direct3D10RenderSurface System Requirements

Operating System Requirements

The SciChart Direct3D10RenderSurface requires Windows Vista, 7, 8, 8.1 or higher.

Hardware Requirements

The SciChart Direct3D10RenderSurface requires a DirectX10 compatible GPU.

You can check the DirectX version your GPU supports by running the DXDiag.exe application, found under your windows start menu.


The SciChart Direct3D10Renderer has a dependency on D3DX9_43.dll and D3DX10_43.dll.

D3DX9 and 10 are extensions to DirectX and are not installed with Windows as standard.

Deploying your SciChart Application with the Direct3D10RenderSurface

Developer PCs and End-User PCs have the same system requirements to run the SciChart DirectX Renderer. To ensure your SciChart application can use the Direct3D10RenderSurface wherever available, and downgrade to software renderer when not available, please follow these steps:

1. Enable the DirectX Renderer

Follow the example at Easy Fallback from DirectX to Software Rendering without code behind:

<SciChartSurface DirectXHelper.TryApplyDirectXRenderer="True">

2. Distribute SharpDX 2.6.2 with your Application

The Direct3D10RenderSurface also has a dependency on SharpDX v2.6.3 (a Managed Wrapper for DirectX, licensed under the MIT License).

Please make sure the following DLLs are in your output directory (where your application exe resides) when deploying applications with DirectX. SharpDX is also available on NuGet.

  • SharpDX.D3DCompiler.dll (part of SharpDX v2.6.3)
  • SharpDX.Direct3D9.dll
  • SharpDX.Direct3D10.dll
  • SharpDX.dll
  • SharpDX.DXGI.dll


3. Ensure the DirectX Runtime is installed on End-User PCs

All End-User PCs must have the DirectX Runtime installed. The package is included in the SciChart v3.2.4 or later installation directory at %InstallDir%\Prerequisites\DirectX.

You will need to include the DirectX Prerequisites and install DXSetup.exe on end-user PCs when you deploy your application*. To silently install the DirectX Runtime on end-user PC’s, please run the following command line in your application deployment process:

EXEC DXSetup.exe /silent

SciChart DirectX Prerequisites Installer

*Microsoft permits you to redistribute the above files with your end-user applications royalty free. The licensing terms for DXSetup can be found in the licensing agreement of the DirectX End-User Runtimes (June 2010)

Frequently Asked Questions

Q: How can I check at runtime if the DirectX renderer is supported on my PC?

A: You can use the Direct3D10CompatibilityHelper class!


/// <summary>
/// A helper class which can be used to detect if the Direct3D10 enhancements to SciChart can run on the current hardware & operating system
/// </summary>
public static class Direct3D10CompatibilityHelper
   /// <summary>
   /// Supported operating systems include Windows Vista, Windows 7, Windows 8, 8.1 and up. Windows XP, 2000, 2003 are not supported.
   /// </summary>
   public static bool IsSupportedOperatingSystem { get; }

   /// <summary>
   /// Determines if the DirectX10 Runtime Libraries can be found in the C:\Windows\System32 and C:\Windows\SysWow64 folders. If the libraries are not present, we recommend
   /// installing the DirectX Runtime from %SciChart Install Dir%/Prerequisites/DirectX.
   /// This installs platform specific libraries (x86, x64) and SciChart dynamically chooses the correct DirectX version at runtime
   /// </summary>
   public static bool HasDirectX10RuntimeInstalled { get; }

   /// <summary>
   /// Determines if the current GPU supports DirectX10 or later
   /// </summary>
   public static bool HasDirectX10CapableGpu { get; }

   /// <summary>
   /// Determines if the current hardware & software configuration fully supports DirectX10 or later
   /// </summary>
   public static bool SupportsDirectX10 { get { return IsSupportedOperatingSystem && HasDirectX10RuntimeInstalled && HasDirectX10CapableGpu; } }
Q: Do I have to install the DirectX Runtime on every End-User PC?

A: SciChart actually only requires D3DX9_43.dll and D3DX10_43.dll

The way to deploy them is by including DXSetup.exe and related files (found in the %SciChartInstallDir%\Prerequisites\DirectX folder) with your application deployment. You can run DXSetup on end-user PCs by calling the command line

EXEC DXSetup.exe /silent

Please note: The licensing terms for the DirectX Runtime restrict you from packaging or embedding the required DLLs with your application, but allows distributing DXSetup and associated files in the %SciChartInstallDir%/Prerequisites/DirectX folder. You must run the DXSetup installer on end-user PCs to remain compliant with Microsofts terms.

Q: Does the DirectX Renderer Work over Remote Desktop?

A: We use D3DImage, which is a Microsoft control that allows sharing of DirectX content with WPF, avoiding airspace issues and allowing fast interop between WPF’s DirectX9 and DirectX10 rendering.

Unfortunately D3DImage has a bug, a nasty one. It won’t work over remote desktop if your application is .NET4.0! It will work over Remote Desktop on .NET4.5 and above.

Since SciChart v4 we have developed a workaround where SciChart DirectX will now work over remote desktop. This is automatic and no changes need to be applied to your code.

Q: I am experiencing flicker with DirectX in my application

Please see this FAQ which talks about how to resolve the problem of Flickering Charts in SciChart.

Q: How much faster is the DirectX Renderer than the Software Renderer?

A: The answer will depend on your exact hardware, software configuration and what you are doing with the chart. In our tests we found the DirectX Renderer to be on average 3.92x faster than the High Speed software renderer, and with superior visual quality (sub-pixel antialiasing).

Not bad for a drop-in upgrade!


Got Feedback?

DirectX is a big part of our future, so we want to make this work for you. If you experience compatibility issues or other problems using the DirectX renderer, then please do get in contact with your feedback. We would love to be of assistance.


The post DirectX WPF Chart Compatibility appeared first on Fast, Native Chart Controls for WPF, iOS, Android and Xamarin.

Read more »

SciChart WPF v4.2.1 Build 9358 Released!
Posted by Julia Skorobogata on 28 December 2016 05:35 PM

Even during holidays our team can’t stop improving our WPF charts. We are pleased to announce that SciChart WPF v4.2.1 has now been released!

This release includes some critical bug fixes, including two memory leaks in SciChart 3D, as well as some minor features requested by our users over the past few weeks.

It is strongly advised for users of SciChart v4.x to upgrade to this version, which is a drop-in replacement.

SciChart WPF Task Tracker now Public

If you have a moment you can take a look at our Issue Tracker board showing the status of SciChart WPF. Our Issue Tracker is now public and has a new look. You can browse the status of sprints, tasks and bugs that you have reported.

Have a look below to see what’s in the release.

What’s New in v4.2.1?

Minor edits: 

  • Added PointLineRenderableSeries3D.IsAntialiased property;
  • Added missing TemplateParts descriptions for annotation types;   
  • Updated CrosshairLinesSceneEntity 3D to use antialiasing by default;
  • Added new ResamplingMode.MinOrMax;
    • Performs (Max) when points above zero, (Min) when points below zero, and MinMax when points span zero;
    • Reduces clutter on the chart for line series;
    • Allows correct output for Mountain and Column when (Max) mode is used and points span zero;   
  • Added GetSize and GetFontFace to TSRFont;
  • Modified Equals method for TextureKey class, so it compare Opacity. It’s needed for dynamic Opacity changing;
  • Added new Dependency Property “Opacity” for IRenderableSeries;
  • Updated RubberBandXyZoomModifier.PerformZoom to public virtual so that users can override it;
  • Made DefaultEntityIdProvider.GetEntityId() virtual so that users can override it.

Fixed a couple of things too:

  • SC3D-355 Fixed AccessViolationException on shutdown of an application with SciChart3D
  • SC3D-347 Fixed Native memory leak in SciChart3D after open/close window which contains a 3D Chart.
  • Fixed TSRFont leak in SCRTAxisCubeEntity.cpp;
  • SC-3797 Fixed Reported great decrease in performance of DataPointSelectionModifier;
  • SC3D-357 Fixed Selection always selects the last point;
  • SC-3548 Fixed FastColumnRenderableSeries does not display negative data once resampled;
  • SC-3796 Fixed rotated heatmap not drawing in hq, hs and xaml renders;
  • SC3D-349 Fixed Performance Decrease for PointLineRenderableSeries3D and SciChart3D charts from v4.1.1 to v4.2.0;
  • SC-3787 Fixed Tooltips to work with specific data mapping in Heatmap;  
  • SC-3795 Fixed the Setting Opacity to work well for RenderableSeries
  • Fixed Viewport3D removes RootEntity as well as disposes;
  • SC3D-346 Fixed TextSceneEntity / Font3D performance is terrible when 1,000 scene entities.
  • SC-3794 Fixed MaximumMeshID Exceeded when greater than 1,000 TextSceneEntitiy objects in the scene
  • SC-3784 Fixed SelectedPointMarker property was missed in BaseRenderableSeriesViewModel;
  • SC-3605 Fixed AnnotationCreation modify to allow continuous usage;
  • SC-3698 Fixed AxisMarkerAnnotation wrong mouse cursor;   
  • SC-3777 Fixed the Deviations from VisibleRangeLimit during zooming/ZoomExtents;
  • SC-3783 Fixed SciChartOverview update when SciStockChart & SciChartOverview is hidden;
  • Fixed hardcoded gaps in pie/donut charts and added some properties for it;
  • SC-3664 Fixed Disappearing HorizontalLine on the top edge;
  • SC-3664 Fixed Disappearing VerticalLine near the edge;   
  • Fixed SeriesSelectionModifier issue;
  • Fixed compilation error in TestSuite;
  • Fixed Heatmap tooltip getting Z-value if maping is flipped;   
  • Fixed SC-3798 RolloverModifier when it shows many tooltips in SciChart Trader example;
  • Fixed pie/donut selection event args;
  • SC-3801 Fixed the issue when AutoRange didn’t work for SurfaceMeshes;
  • Fixed a bug where font change only occurred on XAxis;
  • Fixed a bug where fonts were recreated every frame, causing slowdown;
  • Fixed issue where updating of Line/Tick line styles in AxisBase3D.ToAxisDescriptor caused an infinite redraw of the chart;

Where to get it?!

You can get all the SciChart Releases from the page. If you haven’t created an account with yet, please do. You will need to in order to access the downloads.

If you are a customer of SciChart you can also access our binaries via our NuGet feed as well as Github (for source-code customers).

Best regards,
[SciChart Team]

The post SciChart WPF v4.2.1 Build 9358 Released! appeared first on WPF Charts, iOS and Android Charts | SciChart.

Read more »

Requirements for 3D Surface Mesh Charts
Posted by Andrew on 24 November 2016 05:47 PM

Hey everyone!

Even though the release of SciChart WPF v4.2 is barely a day old(!) we are already hard at work on v4.3, where we intend to add some new features for SciChart WPF 3D Charts as well as several 2D Chart features. We want to get some information from you, our userbase, as to what requirements are most important to you. We also need to ask you a few questions about how you would expect correct usage of the 3D Chart.

Features Planned for v4.3

We are planning the following features for v4.3 of SciChart WPF and we need your feedback on them. Some questions and explanation are found below.

  1. SC3D-218 Support for contours on 3D Surface Mesh charts
  2. SC3D-336 Support for nulls (transparent cells) or override cell colours on 3D Surface Mesh charts
  3. SC3D-338 Support for Waterfall 3D Charts
  4. SC3D-337 Possibly: Support for non-uniform mesh sizes (pending feasibility)
  5. SC3D-326 Possibly: Virtualization of Surface Mesh where size exceeds 4096*4096 (pending feasibilty)
SC3D-218 Contours on Meshes

We can add contours on surface plots quite easily. Something like this:


This is quite easy to do, but we would like to know from you if (a) it is important, (b) you need to be able to configure the contour colours dynamically (per contour, as opposed to one colour for all), (c) whether you have any special requirements for placing contours, or if you would like SciChart to choose and (d) any other comments or suggestions for the API as we build it.

Can you contact us if this feature is important to you? Your input into the requirements would be greatly appreciated.

SC3D-336 Support for Nulls in Surface Meshes

A number of users have asked for nulls (transparent cells) in surface meshes. This sounds easy on the surface, but it isn’t … Nevertheless we want to deliver it. We do have some questions though.

Given a surface mesh with 8×8 data values, we end up with something like this (below). The data-points are shown by orange dots. The cells are the squares next to the dots.

8x8 Surface Mesh. Data-values are marked as orange points

8×8 Surface Mesh. Data-values are marked as orange points

As you can see, cell colour is specified by interpolating the four points surrounding a cell. For example, the cell in the top right has a data-value of Y=1 so it should be red, but it isn’t, it’s yellow, because it has two other edges which are only at Y=0.5.

Now if a user wants to specify a cell as transparent, for example the cell at X=1, Z=6, them you end up with this:

When one data-point is null at X=1,Z=6, four cells become transparent.

When one data-point is null at X=1,Z=6, four cells become transparent.

Now this obviously isn’t ideal. We thought about how to solve this.

We could allow you to specify a separate texture for the mask to ‘null’ certain cells, however you will notice that there are 8×8 data-points in the mesh, but only 7×7 cells, so the texture size doesn’t actually match the data size. This would allow you to mask out certain cells but it would also give you a clunky API and raise questions of accuracy because of the mismatch of sizes.

Another way is we could change how we are drawing the cell textures. We could offset the texture so that each square in the texture surrounds the data-point, for example:

Proposed solution: offsetting cell positions so the centre of the cell is over the data-point

Proposed solution: offsetting cell positions so the centre of the cell is over the data-point

This would be a nice solution except it raises two problems.

  1. At the edges you get half a cell. Might look wierd.
  2. The wireframe position (which goes through the data-points) no longer matches the cell edges. When SurfaceMeshRenderableSeries3D.MeshPaletteMode is HeightMapInterpolated, but might look odd when SurfaceMeshRenderableSeries3D.MeshPaletteMode is HeightMapSolidCells.

We invite your comment/feedback on this proposed solution and whether it seems correct. It is very important to us that our scientific WPF Charts are both intuitive and accurate.

SC3D-337 Uneven Spacing of Surface Mesh Data-Points

Several users have requested that we allow uneven spacing of surface mesh data-points. However, we have a question. Which sort of spacing are you expecting, (A) or (B)?

(A) Uneven spacing of mesh points with each point in a row, column the same as the other points

(A) Uneven spacing of mesh points with each point in a row, column the same as the other points

(B) Uneven spacing of mesh points with decoupled placement of points

(B) Uneven spacing of mesh points with decoupled placement of points

SC3D-338 Waterfall Charts 3D

In SciChart WPF v4.3 we intend to add Waterfall Charts 3D. For clarification, we intend to create a hardware-accelerated version of our WPF Waterfall Chart Example using SciChart3D:

The SciChart WPF Waterfall Chart is simulated using 2D Charts

The SciChart WPF Waterfall Chart is simulated using 2D Charts

If we do this, we will likely bind it to our UniformGridDataSeries3D type. This means the data-source will be a 2-dimensional Double[][] array of Y-values only. But what sort of requirements do you need for this chart type? Do you need for example:

  • To be able to space values in X unevenly or will the spacing be uniform?
  • To have different numbers of points on each ‘slice’ or the same point count on all slices?
  • Do you need to scroll left/right as if this were many slices of a timeseries?

We’re assuming you need realtime performance & being able to scroll in the Z-direction (time) …

SC3D-326 Virtualization of Large Surfaces

The current limit for the size of the 3D Surface Mesh chart is limited by the maximum texture size on your GPU, which in most cases is 4096*4096 and on some GPUs is larger, up to 16k * 16k.

Some customers have contacted us and asked for larger surface sizes, but we would just like to know how many so that we can prioritise this complex piece of work.


Those are all the questions we have about SciChart 3D Surface Mesh for now. If you are a current customer of SciChart WPF 3D, or you are considering to purchase this software, please get in contact with your feedback. It is extremely valuable that we build software that you actually want to use and meets your requirements!

Best regards,
[SciChart Team]


The post Requirements for 3D Surface Mesh Charts appeared first on WPF Charts, iOS and Android Charts | SciChart.

Read more »

SciChart WPF v4.2 Build 9172 Released!
Posted by Andrew on 23 November 2016 09:00 AM

So those of you who have been watching our releases page will notice that SciChart iOS & Android v1.2 were released several weeks ago, but SciChart WPF is no-where to be seen!

Well, the good news is that while we have been delayed in our SciChart WPF v4.2 release, we are now ready to publish it! The delay was due to an extra round of testing & bug fixing (over and above the norm for SciChart releases) in order to make this one of the most stable and perfected releases of SciChart ever.

If you have a moment you can take a look at our Task Tracker board showing the status of the SciChart v4.2 Sprint. Our Issue Tracker was made public (read-only) a few weeks ago and you can now browse the status of sprints, tasks and bugs that you have reported.

Have a look below to see what’s coming soon.

XPS, Png Issues Fixed

In SciChart v4.2 we have literally fixed over 20 bugs related to Xps and Png export. The level of bugs in this feature was quite frankly, embarrassing, and we apologize to our users for putting them through this! In our defense, the image/XPS export feature is hugely complex, and requires us to make a perfect clone of the SciChartSurface in memory, and off-screen, for rendering to Png or XPS (Vector format) at a size other than the current chart.

Literally over 20 bugs reported and fixed related to XPS, Png export!

Literally over 20 bugs reported and fixed related to XPS, Png export!

This is now done and the export works beautifully. We have also explored various ways of UIAutomation testing and come up with a Visual Test Framework that compares expected vs. actual Bitmap / XPS outputs in a variety of edge cases, plus, created over 150 test cases to cover this extremely popular feature.

SciChart's Visual Test Framework allows UIAutomation and image comparison for the Export to XPS/Png Feature

SciChart’s Visual Test Framework allows UIAutomation and image comparison for the Export to XPS/Png Feature

Improvements to SciChart3D

Some feature requests for SciChart3D have been added to SciChart WPF v4.2. These include the ability to switch from Right to Left Handed Coordinate systems, fixing issues with 3D Pointmarker Transparency and creating an example to demonstrate adding custom Cube Geometry and Text to the scene.


We have also added handling of order-independent transparency for some entities in the scene as well as the ability to create custom PointMarkers for 3D Charts.

Pie Chart and Donut Chart!

Hotly requested on our Features Survey a few months ago, as well as on the website more than once we have now fiiiinaaally added Pie Chart and Donut Chart to the SciChart WPF Charting SDK.


We don’t know why this chart type is so popular, but you wanted it, so we built it! We hope you like it!

Negative Logarithmic Axis

It is possible to show data points with negative values on a logarithmic scale. Use our new NegativeLogarithmicAxis for that!

Negative Logarithmic Axis

Some Minor Improvements

We’ve added a SciChartSurface.ZoomState property to allow you to know if the user is zooming or not. This is used in our Tutorials to allow real-time zooming and panning alongside realtime scrolling charts.

Oh and we’ve created 9 new tutorials to help new users get started with SciChart WPF.

We’ve added a DataSeries.Tag property.

We’ve added an overload to ExportToBitmapSource(Size) so you can specify a size before exporting.

We’ve also added SeriesValueModifier.IncludeSeries and SeriesSelectionModifier.IncludeSeries properties so you can hide a series from these modifiers.

We’ve made the DataPointSelectionModifier work with more series types such as Stacked series, Band Series and Bubble Charts.

We’ve added methods to ViewportManager to allow you to ZoomExtents in a delayed fashion after updating data via Databindings.

We’ve made the RolloverModifier MouseOver Hover mode work properly with Realtime-charts.

We’ve added support of PaletteProvider to FastBoxPlotSeries.

We’ve added the properties Viewport3D.ForceStallUntilGPUIdle and Direct3D10RenderSurface.EnableForceWaitForGPU which can be used to stall DirectX rendering until GPU is idle (resolves flicker on some older hardware).

Finally, SciChartLegend.Background is bound to LegendModifier.Background by default now.

A Bazillion Bug Fixes

There are also many many bug fixes in this release, and also a lot of UIAutomation tests and unit tests have been added to reduce the chance of them creeping back in in the future. The list of bug fixes in SciChart v4.2 can be found below.

Fixes for SciChart 2D
  • FileNotFoundException during startup (licensing) – added a check whether file exists before loading AltStorageStrategy.
  • Fixed hanging tooltips (RolloverModifier, TooltipModifier) where there were gaps in data (dataPoint.Y==NaN).
  • Fixed regression in behavior with the ShowTooltipOn mode for RolloverModifier, VerticalSlicesModifier.
  • Fixed a runtime exception in VerticalSliceModifier when X1 was set to Int in XAML.
  • Fixed a runtime exception in VerticalSliceModifier on clearing VerticalLines.
  • Fixed crash in SeriesValueModifier when trying to bind its VerticalLineAnnotationCollection.
  • Fixed binding errors on LegendModifier when a Legend showed ScrollBars.
  • Fixed the issue with DataPointSelectionModifier when it allowed to select points on invisible series.
  • Fixed DataPointSelectionModifier to allow selecting many points for FastBubbleRenderableSeries, StackedColumnRenderableSeries.
  • Fixed DataPointSelectionModifier for vertical charts.
  • Fixed crash in IAxis: Scroll(), Zoom(), ZoomBy(), ScrollByDataPoints() methods failed if VisibleRange==Null.
  • Fixed LegendModifier doesn’t reorder items when series order changes.
  • Fixed the issue when CategoryDateTimeAxis gets scrolled by mouse clicks.
  • Fixed CategoryDateTimeAxis when it fails do draw gridlines if all series are hidden.
  • Fixed panning with CategoryNumericAxis.
  • Fixed Heatmap opacity when drawing using XamlRenderContext.
  • Fixed different Heatmap rendering with XamlRenderer when zoomed in.
  • Fixed text drawing on Heatmap with XamlRenderContext.
  • Fixed Heatmap colors with XamlRenderContext.
  • Fixed XAMLRenderer issue when it rendered gradients differently than other renderers.
  • Fixed FastBubbleRenderableSeries didn’t render with XAMLRenderContext.
  • Fixed disappearing lines in BoxPlotSeries with XAMLRenderer.
  • Fixed an issue when the Stroke of underlying series was visible through an opaque upper series with DxRenderContext.
  • Fixed a crash for FastBandSeries when zooming out to max with DxRenderContext.
  • Fixed Z-Order of series with DxRenderContext.
  • Fixed a NullReferenceException in SciStockChart which occured in DataTemplateSelector.OnDataTemplateChanged().
  • Fixed HitTest not working on vertical Impulse Chart.
  • Fixed HitTest for Polar Charts.
  • Fixed incorrect Rollover axis label on Polar Charts.
  • Fixed a bug in TernaryPolygonSeries where it drew text when a series was hidden.
  • Fixed the issue when tooltips showed empty error values for ErrorBarSeries.
  • Fixed the issue when tooltips showed incorrect Z Value on Ternary Charts.
  • Fixed an exception in VerticalLineAnnotation when changing VerticalAlignment.
  • Fixed the issue with CompositeAnnotations when they didn’t react on interaction with children annotations.
  • Fixed the bug when a CompositeAnnotation couldn’t be hidden.
  • Fixed an intermittent crash with annotations when an exception was thrown during animation of ResizingGrips on Selection.
  • Fixed TextAnnotation incorrect positioning when YAxes are stacked vertically.
  • Fixed a positioning issue with VerticalLineAnnotation and AnnotationLabel margin issues.
  • Fixed a regression with the default PointMarker.DataContext.
  • Fixed a bug when SciChart didn’t release event subscribtions on Dispose().
  • Fixed ShiftedAxesBehavior which placed axes incorrectly when the size of a Window changed.
  • Fixed an intermittent internal InvalidOperationException in TransformToVisual().
Fixes for SciChart Export to File / XPS
  • Changed the error message for exceptions that occur during exporting a chart. Now it reports the property which caused a crash.
  • Fixed the ExportToFile() method which did not use XamlRenderSurface when it had to.
  • Fixed serialization (exporting) of CompositeAnnotations.
  • Fixed serialization (exporting) of CustomAnnotations.
  • Fixed serialization (exporting) of other annotation types.
  • Fixed serialization (exporting) of AnnotationCreationModifier.
  • Fixed serialization (exporting) of the default themes.
  • Fixed serialization (exporting) of custom axis types.
  • Fixed serialization (exporting) of styles (AxisTitleStyle, TickLabelStyle, MajorGridLineStyle, MinorGridLineStyle, MajorTickLineStyle, MinorTickLineStyle, etc.)
  • Fixed serialization (exporting) of LegendModifier when a Legend was configured via Templates.
  • Fixed serialization (exporting) of SciChartSurface properties when inside a DataTemplate.
  • Fixed serialization (exporting) of RenderableSeries with the PointMarker, PointMarkerTemplate properties set.
  • Fixed an intermittent InvalidOperationException during exporting to XPS (“Specified Element is already logical child of another element”).
  • Fixed an export issue with AxisId when ScichartSurface was inside a DataTemplate.
  • Fixed serialization the ColorMap property on Heatmap.
  • Fixed serialization of the TextFormatting, CursorTextFormatting, AxisTitle properties of axes.
  • Fixed an exception when trying to serialize TimeSpan.
  • Fixed serialization of the VerticalScrollBarVisibility property of the LegendModifier.
  • Fixed serialization of gradient brushes.
  • Fixed deserialization of StrokeDashArray.
  • Added text scaling for exporting a chart with larger size for:
    – CompositeAnnotations
    – AxisTitles
    – ChartTitle
    – TextAnnotaions
    – HorizontalLineAnnotations
    – VerticalLineAnnotations
    – CustomAnnotations
    – AxisMarkerAnnotations
    – Legends
Fixes for SciChart 3D:
  • Fixed a crash caused by creating a type before SCRTDllLoader.InitNativeLibs was called “DllNotFoundException” for SciChart3DNative.dll
  • Fixed the issue when the TooltipModifier3D always showed a tooltip for the first SurfaceMesh only.
  • Fixed 3D hit-test (tooltip) failure when there were more than one Scatter or Bubble Series on a chart.
  • Changed default TooltipModifier3D tooltips – they show SeriesName now.
  • Fixed incorrect screen coordinates computations when camera is not right in front of surface.
  • Fixed the issue when a 3D chart did not obey Major/Minor GridLine Color from SC3D Themes.
  • Fixed a crash with the SelectionModifier3D.
  • Fixed the issue when RenderableSeries3D would appear despite that DataSeries was set to Null.
  • Fixed incorrect property definition in the BasePointMarker3D (SelectedFill)
  • Fixed PointMarkers3D transparency issue when they ignored alpha channel of a color coming from a metadata.
  • Added the default color for a selected PointMarker3D.
  • Fixed the issue when custom PointMarkers3D weren’t disposed.
  • Fixed Z fighting issue with columns using back face culling.
  • Fixed columns shader, which would invert models when the heights were negative.
  • Fixed incorrect x,z columns sizes in GridData. It caused exception in UniformGridDataSeries3D.CopyFrom(TY[][] innerArray)
  • Fixes Entityid not incremented to next available value when scene entities attached meaning it was not possible to have more than one Scatter Series 3D with a tooltip.
Improvements to the Examples Application
  • Added a showcase for a new NegativeLogarithmicAxis to the “Logarithmic Axis” example.
  • Created the example called “Add Geometry to a 3D Chart” to demonstrate custom cube geometry and custom text in a 3D chart.
  • Added the MouseWheelModifier as a default modifier to the SciChartInteractionToolbar.
  • Added possibility to edit segments in the “Using Pie Chart”, “Using Donut Chart” examples.
  • Added a possibility to zoom to extents on double-click in the “Annotations Are Easy” example.
  • Changed the “SciChart Trader Demo” example to fix Rollover, Cursor bindings from the toolbar.
  • Changed the “Series Binding with MVVM” example to use ObservableCollection.
  • Cosmetic changes to the “Interaction With Annotations” example.
  • Fixed an issue when a FibonacciExtensionAnnotations, FibonacciRetracementAnnotations couldn’t be interacted with when a mouse was over the internal TrendLine.
  • Fixed the FlipModifier in the SciChartInteractionToolbar.
  • Fixed toolbar buttons in the “Chart Legends API” example.
  • Fixed the FPS counter in the “50-Channel EEG” example. It failed to show FPS after chart data was reset.
  • Fixed parsing of YAxis.VisibleRange from text in the “Modify Axis Properties” example.
  • Fixed the ZoomExtentsY option in the “Pan X or Y Direction” example.
  • Fixed mixed up settings in the toolbar in the “Modify Camera3D Properties” example.
  • Fixed the toolbar in the “RealTime Polar Charts” example.
  • Fixed the background chart of the SciChartScrollbar in the “Multi-Pane Stock Charts” example.
  • Fixed the “Stacked Bar Chart” example – sometimes it appeared upside down because of bindings.
  • Fixed empty error values in tooltips in the “ErrorBar Series TernaryChart” example.
  • Fixed the “Series Custom Tooltips 3D Chart” example crash on startup.
  • Fixed the “Dashboard Charts” examples. Charts did not zoom to fit after switching between views.
  • Fixed some examples which failed to compile after export.
  • Fixed examples export crash when SciChart is installed on “C:/”.
  • Added a possibility to cancel export when choosing directory.
  • Added a check whether the chosen directory, file is available.

Where to get it?!

You can get all the SciChart Releases from the page. If you haven’t created an account with yet, please do. You will need to in order to access the downloads.

If you are a customer of SciChart you can also access our binaries via our NuGet feed as well as Github (for source-code customers).

Best regards,
[SciChart Team]

The post SciChart WPF v4.2 Build 9172 Released! appeared first on WPF Charts, iOS and Android Charts | SciChart.

Read more »

SciChart WPF: New set of tutorials now online
Posted by Andrew on 10 November 2016 03:42 PM

If you are new to SciChart WPF, or have recently started using it, it’s well worth taking a look at our new set of tutorials for SciChart WPF!

These include the following topics:

Tutorials include:

By the end of the tutorials you should end up with a multi-chart, multi-axis chart, with realtime updates and annotations, scrollbars, zooming and panning behaviour, tooltips and legends, which looks a little like this:


If you are experienced with SciChart WPF, it’s worth having a look to give us your feedback.

Also, if you have any feedback for us about topics to include for future tutorials that would also be greatly appreciated.

Thank you!
[SciChart Team]


The post SciChart WPF: New set of tutorials now online appeared first on WPF Charts, iOS and Android Charts | SciChart.

Read more »


Not sure where to start? Contact us, we are happy to help!


SciChart Ltd, 16 Beaufort Court, Admirals Way, Docklands, London, E14 9XL. Email: Legal Company Number: 07430048, VAT Number: 101957725