SciChart v3.0.2 Released, What's New?

After what feels like a very long wait, SciChart v3.0 the release is finally here!! We’ve been through two intensive Beta cycles to bring you this and SciChart v3.0 is packed with new features, bug fixes and enhancements that will take your charting applications to the next level.

Some of you have asked why the wait, is something wrong? Well, we only like to release software that is of high quality, and not before its ready. We have many many users that we don’t want to disappoint. So, we’ve refined and refined again so that SciChart v3.0.2 is a product we are happy to put our names against, and there’s much more to come in minor updates too.

So, without further ado, here’s a run-down of the new features:

New Features & Improvements

1. ResamplingMode.MinMaxUneven

Allows resampling of unevenly spaced data

Previously SciChart required that data was evenly spaced in order to resample using ResamplingMode.MinMax and maintain accurate visual output.

No more rendering errors when Resampling is used with unevenly spaced data

[csharp]// … private void OnXAxisVisibleRangeChanged(object sender, VisibleRangeChangedEventArgs e) { if (e.IsAnimating) { // Handle animation changes here // Note the event will fire once more after animating with e.IsAnimating is false // so tracking the state of this property can give you information to exclude // animation Visibility changes e.g. if you are tracking zoom history } } [/csharp]

14. API Improvements to RenderableSeries

Added the possibility to change the Y zero line for a series via overriding the GetYZeroCoord method:

[csharp] /// <summary> /// Returns a value that determines the position of Y zero line on a chart. /// Significant for the series types that render negative data points differently, /// such as the <see cref=”FastColumnRenderableSeries”/>, <see cref=”FastMountainRenderableSeries”/>, <see cref=”FastImpulseRenderableSeries”/>. /// </summary> /// <returns>The value in pixels indicating the position of zero line</returns> protected virtual double GetYZeroCoord(){…} [/csharp]

15. API Improvements to ViewportManager

New API Functions added to ViewportManager to directly control the SciChartSurface.

ViewportManagerBase implements ISciChartController, defined as

[csharp] /// <summary> /// An interface to a subset of methods on the SciChartSurface. /// </summary> public interface ISciChartController : ISuspendable, IInvalidatableElement { /// <summary> /// Zooms the chart to the extents of the data, plus any X or Y Grow By fraction set on the X and Y Axes /// </summary> void ZoomExtents();

VerticalSliceModifier allows placing of multiple interactive vertical line annotations, which show series values like the Rollover.

19. Performance Tuning

With great power comes great responsibility! Every release of SciChart has more features, more bugs fixed, and therefore more potential to be slower than the last. In SciChart v3.0 we have made slight but important improvements to performance by:

Reducing the load of the Garbage Collector by reducing boxing/unboxing deep inside the renderer core.

Reducing the load of the CPU by reducing redundant NaN / null checks deep in the renderer core.

We aim to keep working on this area and like a race car, shave off the extra milliseconds wherever we find them!

Update Instructions for users of v2.x

Several API changes have been made. Please follow these upgrade instructions if you experience one of the following compilation or runtime errors: The following code will no longer compile:

Changes to Heatmap API

MaxColor, MiddleColor, MinColor, ScaleFactor have been replaced with the ColorMap feature described above.

Changes to BaseRenderableSeries API

The GetZeroCoord method has been renamed GetYZeroCoord. It is possible to override it in derived classes now.

Changes to ILabelFormatter interface

ILabelFormatter has been renamed ILabelProvider. The property in AxisBase and all derived types have been renamed correspondingly. ILabelProvider has two new methods on it. If you are using custom LabelProviders in your code you will need to implement these methods, or, you will need to derive from LabelProviderBase, which provides default implementations below.

Changes to the VisibleRangeChanged handling model

In order to allow tracking VisibleRange changes in some advanced scenarios (e.g. updating a Slider which controls chart zoom level), the VisibleRangeChanged event is fired for the changes induced by animation now. To keep the previous behaviour, the IsAnimating property has been added to the VisibleRangeChangedEventArgs. Hence you will need to do things as follows to prevent getting notified about animation changes:

UnsortedXyDataSeries is obsolete

If you receive a compilation error on using UnsortedXyDataSeries, simply replace it for XyDataSeries. It should now ‘just work’.

Important Documentation and Support Changes

Please note, we’ve made the following changes to how we document and support SciChart. These are part of an on-going strategy to streamline support and effectively provide you information. Changes include:

The SciChart Forums at www.scichart.com/forums have been decommissioned, but kept visible. These can be searched via google, and we are also building a unified search to provide results for both Forum and Support sites.

www.scichart.com/documentation/webframe.html no longer contains How-To guides, tips and tricks and tutorials. Instead these have been migrated to http://support.scichart.com

Tutorials are no longer included in the SciChart Installer. Instead, please use the examples suite at www.scichart.com/demo -> Click on demo (Also available in your installation directory) and the KB articles at http://support.scichart.com

Tutorials at www.scichart.com/tutorials have been left live for the sake of information purposes, but the actual tutorial ZIP files or code has not been updated to work with SciChart 3.0. If you need something from one of these, contact us, and we will point you in the right direction of the KB article on http://support.scichart.com

License Key Upgrades

SciChart v3.0 ships with a 30-day trial key embedded in the application. If you’re an existing customer of SciChart with an active support subscription, you will automatically qualify for an upgrade to SciChart v3.0 and your license key should just work. If your support has expired and you would like to renew your support subscription, please contact sales@scichart.com and we will be glad to assist.

How do I get it?

Simply head over to www.scichart.com/downloads and get the latest installer package. We recommend the MSI package as this contains the examples suite as well as the SciChart libraries