Blog

Announcing Visiblox Charts 2.1

The Visiblox team is delighted to announce the availability of Visiblox Charts v2.1!

New Features

Lots of new features have been added to the charts since 2.0, including:

  • Discontinuous line series - This new series type allows the plotting of lines with gaps or alternately styled segments. There are some examples of these in our examples gallery: Discontinous Line Example and Projection Example.

  • Data labels - A number of chart series (line, bar, column and band series) now support data labels. These are labels placed next to the data points showing the value for that point. This is demonstrated by the example found here.

  • Reverse Axes - All axis types now support reversing, which allows them to be plotted in the reverse direction with the larger values at the bottom or left and the smaller values at the top or right for Y and X respectively. See this in action in our reversed axis example.

  • Theme support and styling changes - We've introduced themes in Visiblox Charts 2.1 which with the simple switch of a resource file restyle the visuals of the chart. To support themes the styling code in Visiblox Charts has been reviewed and improved. In addition some pre-defined themes are included in the premium distribution which can be used as is or modified to suit. The previously mentioned example shows off the packaged themes.

  • Expression Blend support - To complement the new styling improvements, the premium edition of Visiblox Charts 2.1 now comes with design time support for Expression Blend.

  • Improved MVVM support - One of the missing jigsaw pieces to our MVVM support was to make the BindableDataSeries' ItemSource property bindable. This has now been implemented, making the use of Visiblox Charts in an MVVM context even easier.

  • New per-point styling on bar and column series - When you're only plotting one column or bar series on the chart, it can be desirable to have each bar or column rendered in a different colour. In previous versions of Visiblox Charts this wouldn't have been easily possible, but we've now introduced a per-point styling mode on bar and column series to support this. The Series will render each bar or column in a different colour, based on the Chart's palette.

There is a free version of Visiblox Charts 2.1 available for download now, so why not give it a spin?

Detailed Changelog

The detailed changes to the API from version 2.0 to the current 2.1 version are the following.

Annotations

  • Added AnnotationBase.ClearGrippers method
  • Added Gripper.DeInit method
  • Changed AnnotationBase to extend Canvas to support implicit styling
  • Added AnnotationBase.Tag Dependency Property

Axis

  • Added IAxis.ReverseAxis property and added to all implementations (as Dependency Property)
  • Added AxisLabel properties:
  • LayoutRoot
  • TextBorder
  • TextLabel

Behaviours

  • Added ZoomBehaviour Dependency Properties:
    • DisableAxisRendering
    • DisableDataLabelRendering
  • Added overload of ZoomHelper.CanZoomTo method

Data

  • Added new YValueBindingsCollection class
  • Added new YValuePathsCollection class
  • Altered BindableDataSeries to now extend FrameworkElement to support DataContext and binding of Series
  • Changed type of BindableDataSeries.YValueBindings to YValueBindingsCollection

General

  • Added Chart.SetDataLabelZoomPending method
  • Added IInvalidatable.Rendered property and added to all implementations
  • Added InvalidationHandler.ForceLayoutUpdateBeforeRendered property
  • Removed DateTimeDoubleStringConverter class
  • Added FindTemplateChild() method to all classes extending Control directly
  • Made ChartSeriesBase.AxisChanged method virtual
  • Added StringToColorCollectionConverter class
  • Added BooleanToSignConverter class

Legend

  • Added new LegendLayoutContainer class
  • Added ILegendItemProvider interface and implemented in ChartSeriesCommonBase and ChartMultipleSeriesBase
  • Updated LegendPosition to include inside and outside positions
  • IChartSeries now extends ILegendItemProvider
  • Changed Chart.LegendPosition to be of type LegendPosition
  • Removed ChartBase.LegendHorizontalAlignment and ChartBase.LegendVerticalAlignment DPs
  • Removed ChartBase.UpdateLegendPosition

Pie Charts

  • Modified PieChart to extend ChartBase
  • Added PiePiece Dependency Property:
    • BevelDepth
    • Removed PieChart.IsInteractionEnabled Dependency Property
  • Added PieChart Dependency Properties:
    • HighlightingEnabled
    • BevelDepth

Series

  • Added new Discontinuities class
  • Added new ShapeType enum
  • Added new DataLabel class
  • Added new DataLabelPosition enum
  • Added new DataLabelHelper class
  • Added DiscontinuousLineSeries class
  • Added NullHandlingMode enum
  • Added IBarOrColumnSeries interface
  • Added IChartSeriesWithDataLabels interface and implemented in LineSeries, BarOrColumnSeriesBase, RadialChartSeriesBase and BandSeries
  • Added BandSeries Dependency Property:
    • SelectionHelperLineThickness
  • Added LineSeries Dependency Properties:
    • PointShape
    • PointStroke
    • PointStrokeThickness
    • SelectionHelperLineThickness
  • Added LineSeries properties:
    • LinePaths
    • AreaPaths
  • Added LineSeries.DrawAreas() method
  • Added LineSeries.DrawPaths() method
  • Added LineSeries.BuildLinesGeometries() method
  • Added LineSeries.BuildLineGeometry() method
  • Added LineSeries.GetAreaGeometry() method
  • Added LineSeries.ConvertDataSeriesIndexToGeometryIndex() method
  • Added LineSeries.CountEndPoints() method
  • Removed LineSeries.GetYPointPosition method
  • Added RadialLineSeries Dependency Property:
    • SelectionHelperLineThickness
  • Added StaircaseSeries Dependency Property:
    • StepPosition
  • Added BarOrColumnSeriesBase Dependency Properties:
    • BevelDepth
    • StylingMode
  • Removed BarOrColumnSeriesBase.GetTopPosition method
  • Added methods ChartSingleSeriesBase.IsSeriesHighlightingValid() and RadialChartSeriesBase.IsSeriesHighlightingValid()
  • Added ChartSeriesCommonBase.Discontinuities property
  • Added BarOrColumnSeriesBase.CornerRadius DependencyProperty
  • Added various new dependency properties and methods to ChartSeriesCommonBase, BarOrColumnSeriesBase, LineSeries, BandSeries and RadialLineSeries to support DataLabels
  • Refactored Stacking API including changes to method and interface signatures
  • Added ChartMultipleSeriesBase Dependency Property:
    • DataValidationEnabled
  • Added ChartMultipleSeriesBase property:
    • DataChangedSinceLastValidation
  • Added ChartMultipleSeriesBase.ValidateAllSeries and ChartMultipleSeriesBase.AddOffset methods
  • Added ChartSeriesCommonBase.IsPointRenderable() method
  • Added SelectBaseAxis method to IChartSeriesCommon and implementations
  • Added SelectPerpendicularAxis method to IChartSeriesCommon and all implementations
  • Removed ChartSingleSeriesBase.IsInteractionEnabled Dependency Property
  • Added ChartSingleSeriesBase Dependency Property:
    • HighlightingEnabled
  • Added ChartSeriesCommonBase.GetElementState method
  • Added ChartSeriesCommonBase property:
    • StateStylesCollection
  • Added ChartSingleSeriesBase properties:
    • CachedIsHighlighted
    • CachedIsSelected

Styling

  • Added new IPalette interface
  • Added new SimplePalette class
  • Added new Theme class
  • Added new PaletteHelper class
  • Added new NonDependencyObject class
  • Added StateSpecificStyle class
  • Added ElementState enum
  • Added StyleDictionary class
  • Modified Palette property on ChartBase and ChartMultipleSeriesBase to be of type IPalette
  • Added Palette property to IChartMultipleSeries interface
  • Added StyleManager.GetElementState method
  • Added IPaletteAware interface and implemented in Chart, RadialChart, PieChart, SeriesCollection and BarOrColumnSeriesBase
  • Refactored styling code to make use of new styling helper classes affecting multiple series and base classes

Post a comment