SciChart WPF v5 is Finally Here!
After what feels like a long wait, our team has finished wrapping up SciChart WPF v5.0.0 Build 10958 which is released today! Read on to find out what’s new in this exciting version of the SciChart Charting Library.
New Features (2D Charts)
New Heatmap Controls
The FastHeatmapRenderableSeries has been made obsolete, and replaced with two new controls! The FastUniformHeatmapRenderableSeries, and the FastNonUniformHeatmapRenderableSeries.
These updated heatmap controls provide additional performance and features including:
- PaletteProvider supported in Heatmap (override cell color)
- Point Metadata supported in Heatmap (tag cell data)
- Support for massive heatmaps: 10k * 10k!
- Performance: New Heatmap series up to 10x faster when DirectX Enabled.
The Filters API provides a lightweight API to allow you to create, or use custom filters with the SciChart DataSeries. Several built-in filters are included, such as:
- MovingAverageFilter: Applies an N-length Moving Average to a DataSeries
- LowPassFilter: Applies a Butterworth Low-pass filter to a DataSeries
- ScaleFilter: Scale a DataSeries by a scalar value
- OffsetFilter: Offset a DataSeries by a scalar value
- LinearTrendlineFilter: Generates a Linear Trendline fit for a DataSeries
- PolynomialFilter: Generates an N-order polynomial fit for a DataSeies
- SplineInterpolationFilter – interpolates a dataseries using a spline tension
- AggregationFilter – aggregates time based OHLC data into Range or Volume bars
Additional filters can be created by subclassing FilterBase. Filters wrap a DataSeries. When the original DataSeries updates, the filter triggers a recalculation and redraws the chart automatically.
The DiscontinuousDateTimeAxis type has been added, which acts like a DateTimeAxis (value axis), but allows skipping certain dates according to a calendar. This axis type can be used to show trading/stock charts and hide blocks of time (such as weekends, overnight trading) from the chart. It accepts a custom calendar of skip times. Two pre-programmed calendars (NYSE, LSE) are also included.
This axis type may be used for non-trading systems, e.g. process management or control systems where a DateTimeAxis with hidden dates is required.
In combination with the AggregationFilter type, SciChart WPF can now render Range Bars, Volume Bars, Tick Bars, Renko Bars as well as Time Based Bars in the Aggregation Filters Example.
*This axis type is included in the SDK / Enterprise versions of SciChart only.
Market Profile Series Type*
A new series type which renders a Market Profile: a histogram between Candlesticks to visualize trading volume data.
*This series type is included in the SDK / Enterprise versions of SciChart only.
A Radar Chart type has been added, which allows customised axis to display relationships between datasets.
Extreme Resamplers & Performance Improvements
Our resampler algorithms have been re-written using C++ for enhanced resolution, speed and efficiency. Long standing problems solved include:
- Performance problem when resampling FIFO series / avoiding copy operation for First-in-first-out buffers.
- Resampling accuracy improved when the data-set includes NaN gaps
- Resampling accuracy improved when the data-set is unevenly spaced in X
- Resampling accuracy flag BaseRenderableSeries.ResamplingPrecision allows setting of resolution for crisper, higher res charts.
Multitouch has been improved in SciChart 2D Charts. The PinchZoomModifier now works flawlessly with the ZoomPanModifier. Accuracy and precision of MultiTouch has been improved.
SciChart 3D Charts get PinchZoomModifier3D.
SciChart 2D Charts have new MVVM APIs. AxisBinding and AnnotationsBinding MarkupExtensions now complement our SeriesBinding API for MVVM developers.
SciChart 3D Charts get SeriesBinding3D and supports AxisBinding.
New Features (3D Charts)
Non-uniform 3D Mesh Chart
SurfaceMeshRenderableSeries3D now accepts a NonUniformGridDataSeries3D as well as a UniformGridDataSeries3D. Spacing data is provided for the X-Z plane allowing the surface mesh to be non-uniformly spaced.
Contours (3D Charts)
3D Surface mesh charts now support contours, wireframe, or both contours and wireframe. See our examples to see how this feature is applied.
3D Object Loading *.obj (3D Charts)
Textured 3D Objects may be added to a 3D Chart at specifix XYZ format. SciChart accepts the *.obj file format, or Obj file streamed from embedded resource.
Waterfall & Realtime Waterfall (3D Charts)
A new 3D Chart Type called Waterfall3D has been added to the SciChart 3D library. This renders a UniformGridDataSeries3D as a series of waterfall slices. Waterfall charts support realtime scrolling & updating, as well as optional slice thickness, point-markers, selection and more.
PaletteProvider in SurfaceMesh
We’ve added the feature of nulls (empty cells) in surface mesh, as well as custom cell color override for the 3D Surface Mesh chart, by adding support for the PaletteProvider API.
3D Chart Visual & Usability Improvements
Multiple improvements have been made to the 3D Charts APIs, visuals and usabilty, including:
- Added PinchZoomModifier3D for zooming and orbit of 3D Charts on touch screens.
- Huge improvement to Font Rendering quality and labels positioning in 3D Charts.
- Added cell hardness lighting for Surface Meshes.
- Improved visuals on a 4K Screen.
Performance Enhancements to 3D Charts
Several 3D Chart types have been optimized for larger datasets & higher throughput in realtime charting situations.
- Performance Improvements to ScatterRenderableSeries3D – up to 10x faster – supporting millions of scatter points in 3D!
- Performance improvements to PointLineRenderableSeries3D – up to 10x faster – supporting millions of lines in 3D!
- Large Surface Mesh support: Virtualized surface meshes. NxM size limited only by video memory
The minimum requirement for SciChart WPF v5 is now .NET4.5. From version 5 onward, we will no longer support .NET4.0. This is inline with Microsoft support guidelines, and allows us to use the later versions of SharpDX.
- .NET4.6, .NET 4.7 are now fully as NuGet packages.
- SciChart.Drawing.DirectX (2D DirectX Charts) now support SharpDX v4.
- SciChart.Drawing.DirectX (2D DirectX Charts) and 3D Charts now support DirectX11/9 instead of DirectX10/9. This results in improved compatibility with older GPU hardware.
- We have removed the dependency on obsolete/outdated DirectX June 2010 SDK
- We have removed the dependency on Visual C++ Runtime – SciChart now ‘just works’ on client PCs with .NET4.5 or above.
What did we miss / but is coming soon?
We decided to release now, as it has been a while since our last major update. Some features got missed from the release, but are in progress. These include:
- Extreme / Faster Scatter Series type with coloring per-point. ETA: ~3 weeks
- UWP Universal Windows Platform Chart component: ETA ~2 months.
Pricing and Licensing
- For existing customers with active support subscriptions, SciChart v5 is FREE (no charge).
- For past customers who are out of support, contact us to renew.
Until December 31st 2017, we are offering new customers a 15% discount on new license purchases using the Coupon Code SCICHARTV5 on the last page before checkout.
Existing customers who wish to renew, if your support expiry is more than 1-year out of date, we can extend the renewal pricing (50%) as if your support recently expired.
Contact Sales to find out more about the above.
Where to Get It?
- The SciChart WPF v5 installer is available from the downloads page at www.scichart.com/downloads
- We are also publishing the DLLs to NuGet, via our Private Nuget feed. Full instructions at Getting Nightly Builds with NuGet.
- Source code customers get access to our full source code on Github. For access instructions see Github Repository for Source Code Customers.
We hope you enjoy using SciChart WPF v5 as much as we have enjoyed making it! Give us your feedback as we would love to hear it!
Thanks and regards,