Completed
Last Updated: 03 Feb 2015 14:54 by ADMIN
ADMIN
Created by: Peter
Comments: 0
Category: ChartView
Type: Feature Request
3
This problem is related to different serie types are added to the chartview
Completed
Last Updated: 03 Feb 2015 14:02 by ADMIN
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. 
Completed
Last Updated: 03 Feb 2015 13:51 by ADMIN
Completed
Last Updated: 02 Feb 2015 13:54 by ADMIN
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;
}
Completed
Last Updated: 30 Jan 2015 17:50 by ADMIN
When one adds data points with negative and positive values, the negative ones should go below the 0, for example, with the following data:

AreaSeries areaSeries = new AreaSeries();
areaSeries.DataPoints.Add(new CategoricalDataPoint(5, "Jan"));
areaSeries.DataPoints.Add(new CategoricalDataPoint(-10, "Apr"));

Resolution: 
To use the functionality one should set the StartPositionAxis and StartPositionValue properties of an axis. The first property is the axis along which the current axis will be aligned. The second is the value where the current axis should be positioned.
Here is a sample code: 
AreaSeries areaSeries = new AreaSeries();
areaSeries.DataPoints.Add(new CategoricalDataPoint(13, "Jan"));
areaSeries.DataPoints.Add(new CategoricalDataPoint(20, "Apr"));
areaSeries.DataPoints.Add(new CategoricalDataPoint(-15, "Jul"));
areaSeries.DataPoints.Add(new CategoricalDataPoint(16, "Oct"));
this.radChartView1.Series.Add(areaSeries);

areaSeries.HorizontalAxis.StartPositionAxis = areaSeries.VerticalAxis;
areaSeries.HorizontalAxis.StartPositionValue = 0; 
Completed
Last Updated: 30 Jan 2015 13:48 by ADMIN
FIX. RadChartView - Vertical Stripes go out of the chart area when PanZoom is using.
Completed
Last Updated: 30 Jan 2015 13:18 by ADMIN
To reproduce:

Add a RadChartView to a Form. Use the following code:

this.Chart.AreaType = ChartAreaType.Pie;
this.Chart.ShowLegend = true;
PieSeries series = new PieSeries();
series.DataPoints.Add(new PieDataPoint(50, "Germany"));
series.DataPoints.Add(new PieDataPoint(70, "United States"));
series.DataPoints.Add(new PieDataPoint(40, "France"));
series.DataPoints.Add(new PieDataPoint(25, "United Kingdom"));
series.ShowLabels = true;
this.Chart.Series.Add(series);

Workaround:

Private Sub LegendElement_VisualItemCreating(sender As Object, e As LegendItemElementCreatingEventArgs)
    Dim pieElement As PiePointElement = DirectCast(e.LegendItem.Element, PiePointElement)
    Dim dataPoint As PieDataPoint = DirectCast(pieElement.DataPoint, PieDataPoint)
    e.LegendItem.Title = dataPoint.Name
End Sub
Completed
Last Updated: 30 Jan 2015 13:03 by ADMIN
Add BarSeries with several CategoricalDataPoint with some long category text. 
Change the chart's area orientation, then you will notice that the AxisLabelElements overlaps the axis
Completed
Last Updated: 28 Jan 2015 17:13 by ADMIN
ADMIN
Created by: Boryana
Comments: 0
Category: ChartView
Type: Feature Request
0
Add HLC (high-low-close) Series to RadChartView
Completed
Last Updated: 28 Jan 2015 16:21 by ADMIN
To reproduce:


You need a RadChartView with some series. You need to add a new View - 


radChartView1.Views.AddNew("Bigger");


You also need to add a DrillDownController:


DrillDownController drillcontrol = new DrillDownController();
radChartView1.Controllers.Add(drillcontrol);
radChartView1.ShowDrillNavigation = true;


On the Drill event of RadChartView you need to reload the chart. This must clear the axes on the current view (determined by the drill level) and add new ones. You will see that the legend will not update. 


Additional details can be found in the attached project.


Workaround:


Re-add the legend items manually:


private void radChartView1_Drill(object sender, DrillEventArgs e)
{
    if (e.Level == 0)
        BiggerView = false;
    else
        BiggerView = true;


    ReloadChart();

    this.radChartView1.ChartElement.LegendElement.StackElement.Children.Clear();
    ChartView currentView = this.radChartView1.Views[BiggerView ? 1 : 0];
    foreach (ChartSeries series in currentView.Series)
    {
        LegendItem item = new LegendItem(series)
        {
            Title = series.Name
        };


        LegendItemElement element = new LegendItemElement(item);
        this.radChartView1.ChartElement.LegendElement.StackElement.Children.Add(element);
    }
}


Completed
Last Updated: 28 Jan 2015 14:37 by ADMIN
We should add a way for users to bind a property in the data source that will be used as a legend title for pie data points.

Resolution: 

Set the LegendTitleMember property to bind legend title of PieSeries. 
Completed
Last Updated: 28 Jan 2015 13:49 by ADMIN
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: 24 Jan 2015 16:03 by ADMIN
To reproduce use the following code:
public Form1()
{
    InitializeComponent();
   
    radChartView1.AreaType = Telerik.WinControls.UI.ChartAreaType.Pie;

    radChartView1.ShowLegend = true;
    series.ValueMember = "CategoryID";
    series.DisplayMember = "CategoryName";
    series.DataSource = this.nwindDataSet1.Categories;
    radChartView1.Series.Add(series);
}

private void radButton1_Click(object sender, EventArgs e)
{
    this.categoriesTableAdapter.Fill(this.nwindDataSet1.Categories);
}

private void Form1_Load(object sender, EventArgs e)
{
    // TODO: This line of code loads data into the 'nwindDataSet1.Categories' table. You can move, or remove it, as needed.
    this.categoriesTableAdapter.Fill(this.nwindDataSet1.Categories);
}

Workaround: 
- Clear the items manually:
    this.radChartView1.ChartElement.LegendElement.StackElement.Children.Clear();
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: 24 Jan 2015 12:04 by ADMIN
To reproduce:
Add a RadChartView and use the following code:

public Form1()
{
    InitializeComponent();

    this.radChartView1.ShowTrackBall = true;
    this.radChartView1.ShowLegend = true;
    Random rand = new Random();
    var lineSeries = new LineSeries();
    for (int i = 0; i < 1000; i++)
    {
        lineSeries.DataPoints.Add(new CategoricalDataPoint(i, rand.Next(0, rand.Next(5, 20))));
    }
    radChartView1.Series.Add(lineSeries);
}

Workaround: change the LegendPosition:
this.radChartView1.ChartElement.LegendPosition = LegendPosition.Bottom;


Completed
Last Updated: 24 Jan 2015 07:13 by ADMIN
To reproduce use the following code to initialize the chart:

DataTable dt = new DataTable();
dt.Columns.Add("Category", typeof(string));
dt.Columns.Add("Value", typeof(int));
dt.Rows.Add("010010", 5);
dt.Rows.Add("000020", 6);
dt.Rows.Add("000030", 2);
dt.Rows.Add("000040", 11);
return dt;

BarSeries bs = new BarSeries("Value", "Category");
bs.Palette = new PaletteEntry(Color.BlanchedAlmond);
radChartView1.DataSource = dt;
radChartView1.Series.Clear();
radChartView1.Series.Add(bs);
radChartView1.GetArea<CartesianArea>().Orientation = Orientation.Horizontal;

Workaround:
CategoricalAxis Axis = radChartView1.Axes.Get<CategoricalAxis>(1);
Axis.LabelFormat = "{0:000000}";

Completed
Last Updated: 23 Jan 2015 17:19 by ADMIN
To reproduce:
public Form1()
{
    InitializeComponent();

    ScatterSeries series = new ScatterSeries();
    series.DataPoints.Add(new ScatterDataPoint(5, 5));
    series.DataPoints.Add(new ScatterDataPoint(4, 2));
    series.DataPoints.Add(new ScatterDataPoint(-1, 3));
    series.DataPoints.Add(new ScatterDataPoint(8, 4));

    radChartView1.Series.Add(series);

    LinearAxis horizontalAxis = radChartView1.Axes.Get<LinearAxis>(0);
    horizontalAxis.Minimum = -10;
    horizontalAxis.Maximum = 10;
}
private void radButton1_Click(object sender, EventArgs e)
{
    LinearAxis horizontalAxis = radChartView1.Axes.Get<LinearAxis>(0);
    horizontalAxis.DesiredTickCount = 20;
}

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: 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.