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:
- 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:
- Added BarOrColumnSeriesBase Dependency Properties:
- 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:
- 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:
- Added ChartSeriesCommonBase.GetElementState method
- Added ChartSeriesCommonBase property:
- 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