The Infragistics' UltraChart control reviewI used this user control in almost all my projects during the last year. Infragistics is presenting us the following features for this component:
- Over 50 2D and 3D Chart Types.
- Design-time Convenience – Custom wizard for designing single-layer or multi-layer charts, with optimized default presets to ensure you will make the best presentation of the chart type you have chosen to display.
- Composite Charting – Build complex charts with Series Collections, Chart Area Collections and Chart Layers Collections.
- Advanced Graphics – Use Anti-Aliasing, Alpha-Blending, Solid 3D, 2D or our custom Paint Elements to design the highest quality visual appearance.
- Multiple Rendering – Choose from multiple image types for rendering.
Indeed. This charting control comes with a rich collection of predefined chart types for both the 2D and 3D rendering mode. It also includes the composite mode which can blend different chart type to work as one entity. For example it allows combining a line chart, a column chart and an area chart on the same charting area. Each used chart type has to be defined on a separate charting layer. It provides printing support and allows saving the rendered charts as images by specifying the image type.
Now let’s present the bad things that are coming with this user control. So I will start with the composite chart which is a feature available for 2D charts only. But maybe this is not a dramatic issue because a chart combining a pyramid and a cone, for example, wouldn’t provide a good overview of the represented data.
The wizard that comes with this charting control seems to handle its job pretty good but sometimes it messes up the code it generates in the form’s design file and this can end up with an invalid form, that the Visual Studio designer can’t open, or even a Visual Studio crash.
The problem occurs when the SaveTo(MemoryStream, ImageForma.BMP) method is used. It seems that this method starts rendering the entire chart one more time, without triggering the FillSceneGraph event. So, the printed chart from the memory stream (which can be transformed very easily into an image file) will not have the same look as the one rendered by the control. In this case, the FillSceneGraph event becomes useless. This event was presented as a highlighted feature of the 7.3 release. They don’t spend to much time testing the new releases?
Here is my C# code sample to reproduce this issue:
private void Form1_Load(object sender, EventArgs e)
this.ultraChart1.Data.ZeroAligned = true;
NumericSeries ns = new NumericSeries();
ns.Points.Add(new NumericDataPoint(20, "1", false));
ns.Points.Add(new NumericDataPoint(20, "2", false));
ns.Points.Add(new NumericDataPoint(20, "3", false));
ns.Points.Add(new NumericDataPoint(20, "4", false));
The scrolling bar is not working. The only way to scroll a scaled chart is to use the scrolling arrows. This is pretty annoying mostly for the user. Please read How to: Enable zooming on Infragistics composite charts for more informations about this feature.