Steps to reproduce: 1. Add chart to a form. 2. Add two bar series with CombineMode set to Stack100 3. Add two data points to the series with values 0.0 and identical category 4. Run the project an you will see an exception.
ADD. RadChartView - add waterfall series type.
http://www.telerik.com/help/wpf/common-export-support.html Resolution: Add an option to export the chart to an image or a stream using the ExportToImage methods.
The lasso controller does not zoom properly the vertical axis - the interval is not correct. Workaround: public class Lasso : LassoZoomController { protected override ActionResult OnMouseUp(MouseEventArgs e) { if (e.Button != MouseButtons.Left) { return base.OnMouseUp(e); } if (MouseDownLocation != MouseMoveLocation) { Point point = (Point)typeof(LassoZoomController).GetMethod("ClipLocation", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).Invoke(this, new object[] { e.Location }); this.MouseMoveLocation = point; SizeF areaSize = SizeF.Empty; CartesianArea area = this.Area.View.GetArea<CartesianArea>(); if (area != null) { IChartView chartView = this.Area.View; var temp = area.GetType().GetMethod("GetCartesianClipRect", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).Invoke(area, null); areaSize = ((RectangleF)temp).Size; double delta = this.Area.View.Viewport.Width - areaSize.Width + this.Area.View.Viewport.X; double start = ((this.MouseDownLocation.X - chartView.PlotOriginX - delta) / areaSize.Width / chartView.ZoomWidth) * 100; double end = (MouseMoveLocation.X - chartView.PlotOriginX - delta) / areaSize.Width / chartView.ZoomWidth * 100; double zoomFactor = 100d / Math.Abs(start - end); double deltaHeight = this.Area.View.Viewport.Height - areaSize.Height + this.Area.View.Viewport.Y; double startH = ((this.MouseDownLocation.Y - chartView.PlotOriginY - deltaHeight) / areaSize.Height / chartView.ZoomHeight) * 100; double endH = (MouseMoveLocation.Y - chartView.PlotOriginY - deltaHeight) / areaSize.Height / chartView.ZoomHeight * 100; double zoomFactorH = 100d / Math.Abs(startH - end); if (zoomFactor < 1d) { zoomFactor = 1d; } if (zoomFactor > 100d) { zoomFactor = 100d; } if (zoomFactorH < 1d) { zoomFactorH = 1d; } if (zoomFactorH > 100d) { zoomFactorH = 100d; } double pan = (((areaSize.Width - 1) * zoomFactor) / 100) * Math.Min(start, end); double panH = (((areaSize.Height - 1) * zoomFactorH) / 100) * Math.Min(startH, endH); this.Area.View.Zoom(zoomFactor, zoomFactorH); this.Area.View.Pan(-pan, -panH); } } ViewResult result = typeof(LassoZoomController).GetField("result", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).GetValue(this) as ViewResult; result.ShouldInvalidate = true; return new ViewResult() { ShouldInvalidate = true }; } }
Add RightToLeft support in DrillDownNavigator.
Currently values can only increase from left to right and from bottom to top.
One should be able to add annotations at certain positions within RadChartView.
http://www.telerik.com/help/winforms/chart-features-marked-zones.html
To reproduce: BarSeries barSeries = new BarSeries("Performance", "RepresentativeName"); barSeries.Name = "Q1"; barSeries.DataPoints.Add(new CategoricalDataPoint(177, "Harley")); barSeries.DataPoints.Add(new CategoricalDataPoint(128, "White")); barSeries.DataPoints.Add(new CategoricalDataPoint(143, "Smith")); barSeries.DataPoints.Add(new CategoricalDataPoint(111, "Jones")); barSeries.DataPoints.Add(new CategoricalDataPoint(118, "Marshall")); this.radChartView1.Series.Add(barSeries); this.radChartView1.GetArea<CartesianArea>().Orientation = Orientation.Horizontal;
RadChartView - user should be able to enter minimum/maximum width for Bars in BarSeries.
Currently, when you zoom in and out, the position the mouse is initially hovering is not kept, while it should
Add Range series similar to those provided by WPF/SL http://demos.telerik.com/silverlight/#ChartView/Gallery/Range
Add Scatter area series support for RadChartView.
Axes should allow custom formatting for each individual label. Consider the following scenario - a chart provides information for each hour of the day. Each label should contain only the hours data, however, when the date changes the label should contain the full date information.
Introduce mechanism that will allow the vertical axis to appear at a certain position regardless of the size of its labels. For reference see Stock Series \ Indicators example.
This problem is related to different serie types are added to the chartview
Currently only axes labels can be rotated. There should be a way to rotate series labels as well. Resolution: Set the LabelRotationAngle property of the series to preferred angle.
To reproduce: - Start the Q3 2014 SP1 demo application. - Open the Bar example. - Set the orientation to horizontal. In addition please note that the first and the last labels of the horizontal axis are missing as well. Workaround: CategoricalAxis vertiacalAxis = radChartView1.Axes[1] as CategoricalAxis; if (vertiacalAxis != null) { vertiacalAxis.LabelFitMode = AxisLabelFitMode.Rotate; vertiacalAxis.LabelRotationAngle = .1; }