Completed
Last Updated: 23 Jan 2015 15:49 by ADMIN
Add several data points with date time objects as their categories. Make sure the time span these date time objects is within a few seconds. You will see that not all labels will be displayed by the chart.
Completed
Last Updated: 23 Jan 2015 16:56 by ADMIN
To reproduce:
  protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            InitializeComponent();

            radChartView1 = new RadChartView();
            this.Controls.Add(radChartView1);

            DateTimeContinuousAxis asseX = new DateTimeContinuousAxis();
            LinearAxis asseY = new LinearAxis();

            asseY.AxisType = AxisType.Second;
            asseY.Minimum = 0;
            asseY.Maximum = 200;
            asseY.HorizontalLocation = Telerik.Charting.AxisHorizontalLocation.Right;
            asseY.LabelFormat = "{0} °C";

            LineSeries serie = new LineSeries();

            serie.DataPoints.Add(new CategoricalDataPoint(150, DateTime.Now));
            serie.VerticalAxis = asseY;
            serie.HorizontalAxis = asseX;

            radChartView1.Series.Add(serie);
        }

Workaround is available in the attached project.
Completed
Last Updated: 05 Feb 2015 15:23 by ADMIN
ADMIN
Created by: Ivan Petrov
Comments: 0
Category: ChartView
Type: Feature Request
0

			
Completed
Last Updated: 24 Jan 2015 14:35 by ADMIN
To reproduce:

SteplineSeries stepLineSeries = new SteplineSeries();
stepLineSeries.DataPoints.Add(new CategoricalDataPoint(12, "Jan"));
stepLineSeries.DataPoints.Add(new CategoricalDataPoint(42, "Apr"));
stepLineSeries.DataPoints.Add(new CategoricalDataPoint(28, "Jul"));
stepLineSeries.DataPoints.Add(new CategoricalDataPoint(12, "Oct"));
this.radChartView1.Series.Add(stepLineSeries);  

CartesianArea area = this.radChartView1.Area as CartesianArea ;
area.Orientation = Orientation.Horizontal;

Please refer to the attached screenshots.

Workaround: use LineSeries with custom CartesianRenderer:

public Form1()
{
    InitializeComponent();

    this.radChartView1.CreateRenderer += radChartView1_CreateRenderer;

    LineSeries lineSeries = new LineSeries();
    lineSeries.DataPoints.Add(new CategoricalDataPoint(12, "Jan"));
    lineSeries.DataPoints.Add(new CategoricalDataPoint(42, "Apr"));
    lineSeries.DataPoints.Add(new CategoricalDataPoint(28, "Jul"));
    lineSeries.DataPoints.Add(new CategoricalDataPoint(12, "Oct"));
    this.radChartView1.Series.Add(lineSeries);
    
    CartesianArea area = this.radChartView1.Area as CartesianArea ;
    area.Orientation = Orientation.Horizontal;
}

private void radChartView1_CreateRenderer(object sender, ChartViewCreateRendererEventArgs e)
{
    e.Renderer = new CustomCartesianRenderer((CartesianArea)e.Area);
}

public class CustomCartesianRenderer : CartesianRenderer
{
    public CustomCartesianRenderer(CartesianArea area) : base(area)
    {
    }

    protected override void Initialize()
    {
        base.Initialize();

        for (int i = 0; i < this.DrawParts.Count; i++)
        {
            LineSeriesDrawPart drawPart = this.DrawParts[i] as LineSeriesDrawPart;
            if (drawPart != null)
            {
                this.DrawParts[i] = new CustomLineDrawPart((LineSeries)drawPart.Element, this);
            }
        }
    }
}

public class CustomLineDrawPart : LineSeriesDrawPart
{
    public CustomLineDrawPart(LineSeriesBase series, IChartRenderer renderer) : base(series, renderer)
    {
    }

    protected override GraphicsPath GetLinePaths(PointF[] points)
    {
        GraphicsPath path = new GraphicsPath();
        PointF x;
        PointF y;
        List<PointF> pointsList = points.ToList();

        CartesianArea area = this.Element.Parent as CartesianArea;
        if (area != null && area.Orientation == Orientation.Horizontal)
        {
            pointsList = pointsList.OrderBy(p => p.Y).ThenBy(p => p.X).ToList();
        }
        
        if (pointsList.Count > 1)
        {
            for (int i = 1; i < pointsList.Count; i++)
            {
                x = pointsList[i - 1];
                y = pointsList[i];
                path.AddLine(x.X, x.Y, y.X, x.Y);
                path.AddLine(y.X, x.Y, y.X, y.Y);
            }
        }
        else
        {
            return null;
        }

        return path;
    }
}

Completed
Last Updated: 31 May 2019 09:37 by ADMIN
To reproduce:

1. Perform zoom and pan operation and click the print/print preview button:
2. You will notice that the printed chart is not exactly the same as the displayed one. Please refer to the attached screenshot.

public Form1()
{
    InitializeComponent();

    LineSeries lineSeries = new LineSeries();
    lineSeries.DataPoints.Add(new CategoricalDataPoint(20, "Jan"));
    lineSeries.DataPoints.Add(new CategoricalDataPoint(22, "Apr"));
    lineSeries.DataPoints.Add(new CategoricalDataPoint(12, "Jul"));
    lineSeries.DataPoints.Add(new CategoricalDataPoint(19, "Oct"));
    this.radChartView1.Series.Add(lineSeries);

    LineSeries lineSeries2 = new LineSeries();
    lineSeries2.DataPoints.Add(new CategoricalDataPoint(18, "Jan"));
    lineSeries2.DataPoints.Add(new CategoricalDataPoint(15, "Apr"));
    lineSeries2.DataPoints.Add(new CategoricalDataPoint(17, "Jul"));
    lineSeries2.DataPoints.Add(new CategoricalDataPoint(22, "Oct"));
    this.radChartView1.Series.Add(lineSeries2);

    ChartPanZoomController panZoomController = new ChartPanZoomController();
    panZoomController.PanZoomMode = ChartPanZoomMode.Horizontal;
    radChartView1.Controllers.Add(panZoomController);
}

private void radButton1_Click(object sender, EventArgs e)
{
    this.radChartView1.PrintPreview();
}

3.The issue also appears when the LassoZoomController is used.
 
Completed
Last Updated: 04 Feb 2015 17:00 by ADMIN
ADMIN
Created by: Ivan Petrov
Comments: 0
Category: ChartView
Type: Feature Request
0
Add Range series similar to those provided by WPF/SL

http://demos.telerik.com/silverlight/#ChartView/Gallery/Range
Completed
Last Updated: 10 Feb 2015 13:25 by ADMIN
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 };
    }
}
Completed
Last Updated: 09 Mar 2015 10:54 by ADMIN
To reproduce:
- Add 3 series to an array and add them to the chart.
- Clear the chart series and add them back.
- All labels are removed from the chart.

Workaround:
- Create new series.
Completed
Last Updated: 08 Dec 2014 13:01 by ADMIN
Steps to reproduce:

1. Add a RadChartView to a form.

2. Add a LassoZoomController to the chart 

3. Run the project and start scrolling the mouse wheel. 

You will see that the chart is not zoomed in our out. If you click on the chart the mouse wheel zooms as expected.



WORKAROUND:

Set the focus to the chart element:

this.radChartView1.Behavior.ItemCapture = this.radChartView1.ChartElement;
this.radChartView1.ChartElement.Focus();
Completed
Last Updated: 09 Feb 2015 07:29 by ADMIN
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;
Completed
Last Updated: 28 Jan 2015 13:49 by ADMIN
Completed
Last Updated: 11 Nov 2014 13:38 by ADMIN
The lasso controller should zoom vertically as well.
Completed
Last Updated: 23 Mar 2015 12:51 by Robert
Created by: Robert
Comments: 0
Category: ChartView
Type: Feature Request
1
It would be very helpful if you either added ScaleBreaks (as in the deprecated RadChart control - http://www.telerik.com/help/winforms/chart-features-scale-breaks.html) or provided an alternative way. I use them a great deal with bar charts and logarithmic scales are not optimal.
Completed
Last Updated: 05 Feb 2015 16:39 by ADMIN
Currently, when you zoom in and out, the position the mouse is initially hovering is not kept, while it should
Completed
Last Updated: 13 Nov 2014 08:48 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Sr.
Comments: 0
Category: ChartView
Type: Bug Report
0
To reproduce:

public partial class Form1 : Form
{
    private BindingList<MyData> data;

    public Form1()
    {
        InitializeComponent();
        LoadDatas();

        MyBarSeries bars = new MyBarSeries();
        bars.DataSource = data;
        bars.ValueMember = "Montant";
        bars.CategoryMember = "Month";
        bars.LegendTitle = "My series of MyData";
        this.radChartView1.ShowLegend = true;
        this.radChartView1.Series.Add(bars);
    }

    private void LoadDatas()
    {
        data = new BindingList<MyData>();
        data.Add(new MyData(20, "janv", 1));
        data.Add(new MyData(50, "fev", 2));
        data.Add(new MyData(30, "mars", 3));
        data.Add(new MyData(25, "avril", 4));
        data.Add(new MyData(40, "mai", 5));
        data.Add(new MyData(80, "juin", 6));
        data.Add(new MyData(20, "juil", 7));
    }

    public class MyData
    {
        public int Montant { get; set; }

        public string Month { get; set; }

        public double NumMonth { get; set; }

        public MyData(int montant, string month, double numMonth)
        {
            this.Montant = montant;
            this.Month = month;
            this.NumMonth = numMonth;
        }
    }

    public class MyBarSeries : BarSeries
    {
       
    }
}

Resolution: 
When you inherit from a serie, the original control themes are not automatically inherited. You need to override the ThemeRole property. Here is the code snippet: 
public class MyBarSeries : BarSeries
{
    public override string ThemeRole
    {
        get
        {
            return typeof(BarSeries).Name;
        }
    }
}
Completed
Last Updated: 03 Feb 2015 13:51 by ADMIN
Completed
Last Updated: 14 Nov 2014 12:55 by ADMIN
ADMIN
Created by: Stefan
Comments: 0
Category: ChartView
Type: Feature Request
0

			
Completed
Last Updated: 09 Sep 2014 11:43 by ADMIN
ADMIN
Created by: Ivan Petrov
Comments: 0
Category: ChartView
Type: Bug Report
0
Currently the PieRenderer class is private and cannot be inherited nor extended. All other renderer classes are public.
Completed
Last Updated: 28 Jan 2015 13:33 by ADMIN
Create a chart with a LinesSeries with a DateTimeContinuousAxis axis and set the following properties:
DateTimeContinuousAxis horizontalAxis = new DateTimeContinuousAxis();
horizontalAxis.Title = tupleItem.HorizontalAxis;
horizontalAxis.AxisType = AxisType.First;
horizontalAxis.VerticalLocation = AxisVerticalLocation.Bottom;
horizontalAxis.AutomaticBorderColor = false;
horizontalAxis.MaximumTicks = 10;
horizontalAxis.LabelFormat = "{0:HH:mm:ss.fff}";

You will see that there are less labels than ticks.

When the chart is zoomed the labels also disappear from the ticks.
Completed
Last Updated: 01 Oct 2014 12:14 by ADMIN
Adding a series with null values and combine mode Stack or Stack100 results in an exception.