is our current official charting offering that allows you to visualize interactive, rich, animated charts that enable the end users to analyze complex data. This control has been around for quite some time now and provides rich and mature functionality that covers a large spectrum of user case scenarios.
On the other hand, RadChartView (released as a BETA version with the Q3 2011) is a control that addresses some of the limitations and deficiencies that we have identified in the RadChart implementation over the years (we chose to implement a separate control in order not to break backwards compatibility).
Here are some of the most important highlights:
- Performance: exceptional performance and intuitive and easy-to-use model were some of the major tasks we have set for this new control.
- We have separated the chart into several layers, where the core one is totally platform agnostic and is built on top of our custom logical tree. We call this layer the “View Model” of the chart.
- We have a custom property store used within the charting logical tree. It is about 5 times faster than DependencyObject in look-up time and consumes about 3 times less memory.
- We have an entirely custom layout and do not rely on the XAML layout system to arrange our charting view models.
- We have a stand-alone visualization layer that presents the chart view model. Every view model is presented by the simplest possible SL visual – e.g. Rectangle, Line, Polyline, etc. Still, every single aspect is fully customizable by specifying Data Templates or Styles.
- We use Canvas – the only XAML panel that does not invalidate measure automatically. When a redraw of some charting part is required, we simply update the Width, Height and Canvas.Left, Canvas.Top properties of the corresponding visual. A simple test proved that calling InvalidateMeasure of the canvas upon a change the in view model degrades performance about 10 times.
- Architecture: a number of chart controls built for a specific purpose vs one monolith control (provides cleaner, simpler, and relevant API)
- RadCartesianChart -- hosts Bar, Area, Line, Spline, SplineArea, ScatterPoint, Candlestick, and OHLC series types (and their horizontal & stacked / stacked100 equivalents where applicable).
- RadPieChart -- hosts Pie series type.
- RadPolarChart -- hosts PolarLine, PolarArea, PolarPoint, RadarLine, RadarArea, RadarPoint series types.
- Notable features
- Financial indicators -- support for about 20 most common financial indicators to complement the data visualization for all cartesian series types.
- Extended DateTime support built-in in the axes' logic
- DateTimeCategoricalAxis -- Specialized categorical axis that expects each data point to provide a System.DateTime structure as its value for this axis. The points are grouped by a user-defined date-time component (Year, Month, Day, etc.) and then the groups are sorted chronologically.
- DateTimeContinuousAxis -- Specialized axis that expects each data point to provide a System.DateTime structure as its value for this axis. May be thought of as a timeline where the coordinate of each data point is calculated depending on the position of its associated DateTime on the timeline. The base unit (or the timeline step) of the axis is calculated depending on the smallest difference between any two dates.
- Support for linear and logarithmic axes.
- Built-in data sampling (with extended DateTime awareness)
- PanAndZoom Behavior -- with smooth scrolling support.
- TrackBall Behavior (also known as current value indicator)
- ToolTip Behavior
Generally we would encourage you to use the new ChartView control for any new project development that you are starting now. As for existing applications -- if you are satisfied with the RadChart implementation you are using now, it probably would be best to leave it be as there is no straightforward migration path between RadChart and RadChartView (migration is possible but some concepts are implemented differently in the new control, and some features are still missing -- we hope to achieve almost complete feature parity between RadChart / RadChartView by Q2 2012).
the Telerik team
Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>