How to hide or remove null values ​​in a linear series RadChart

I am using Radchart, I want to delete a series of lines that shows the value zero.Is there any possible way to hide or remove the value that shows zero.Please provide any solution or code.

Thanks in Advance.

+3


source to share


1 answer


After 2 days of struggling, I found a solution how to hide or delete a row of rows containing zeros. I have four lines in this fourth line containing a null i that I want to hide those null values ​​and I did.

before implementation

enter image description here

After implementation

enter image description here



code

             //-------------------Styling------------------------           
        RadChart1.DefaultView.ChartLegend.Background = new SolidColorBrush(Color.FromArgb(255, 75, 119, 255));

        RadChart1.DefaultView.ChartArea.AxisY.StripLinesVisibility = Visibility.Collapsed;
        RadChart1.DefaultView.ChartArea.AxisY.MajorGridLinesVisibility = Visibility.Visible;

        RadChart1.DefaultView.ChartLegend.UseAutoGeneratedItems = true;
        RadChart1.DefaultView.ChartLegend.Header = "";


        RadChart1.DefaultView.ChartLegendPosition = Telerik.Windows.Controls.Dock.Bottom;
        RadChart1.DefaultView.ChartLegend.Foreground = new SolidColorBrush(Colors.White);
        RadChart1.DefaultView.ChartLegend.LegendItemStyle = new Style() { TargetType = typeof(ChartLegendItem) };
        RadChart1.DefaultView.ChartLegend.LegendItemStyle.Setters.Add(new Setter() { Property = Control.ForegroundProperty, Value = new SolidColorBrush(Colors.White) });


        ChartLegendItem ch1 = new ChartLegendItem() { Label = "FY10", Background = new SolidColorBrush(Colors.Blue), Foreground = new SolidColorBrush(Colors.White) };
        ChartLegendItem ch2 = new ChartLegendItem() { Label = "FY11", Background = new SolidColorBrush(Colors.Brown), Foreground = new SolidColorBrush(Colors.White) };
        ChartLegendItem ch3 = new ChartLegendItem() { Label = "FY12", Background = new SolidColorBrush(Colors.Green), Foreground = new SolidColorBrush(Colors.White) };
        ChartLegendItem ch4 = new ChartLegendItem() { Label = "FY13", Background = new SolidColorBrush(Colors.Black), Foreground = new SolidColorBrush(Colors.White) };

        ChartLegendItemCollection chC = new ChartLegendItemCollection();
        chC.Add(ch1);
        chC.Add(ch2);
        chC.Add(ch3);
        chC.Add(ch4);

        RadChart1.DefaultView.ChartLegend.UseAutoGeneratedItems = false;
        RadChart1.DefaultView.ChartLegend.Items.Clear();
        RadChart1.DefaultView.ChartLegend.Items.Add(chC[0]);
        RadChart1.DefaultView.ChartLegend.Items.Add(chC[1]);
        RadChart1.DefaultView.ChartLegend.Items.Add(chC[2]);
        RadChart1.DefaultView.ChartLegend.Items.Add(chC[3]);

        Style pathStyle1 = new Style(typeof(System.Windows.Shapes.Path));
        pathStyle1.Setters.Add(new Setter(Shape.StrokeProperty, new SolidColorBrush(Colors.Blue)));
        pathStyle1.Setters.Add(new Setter(Shape.StrokeThicknessProperty, 2));

        Style lineStyle1 = new Style(typeof(Telerik.Windows.Controls.Charting.LineSeries));
        lineStyle1.Setters.Add(new Setter(LineSeries.BorderLineStyleProperty, pathStyle1));

        Style pathStyle2 = new Style(typeof(System.Windows.Shapes.Path));
        //  pathStyle2.Setters.Add(new Setter(Shape.StrokeDashArrayProperty, "1"));
        pathStyle2.Setters.Add(new Setter(Shape.StrokeProperty, new SolidColorBrush(Colors.Brown)));
        pathStyle2.Setters.Add(new Setter(Shape.StrokeThicknessProperty, 2));

        Style lineStyle2 = new Style(typeof(Telerik.Windows.Controls.Charting.SelfDrawingSeries));
        lineStyle2.Setters.Add(new Setter(SelfDrawingSeries.BorderLineStyleProperty, pathStyle2));

        Style pathStyle3 = new Style(typeof(System.Windows.Shapes.Path));
        //  pathStyle3.Setters.Add(new Setter(Shape.StrokeDashArrayProperty, "1"));
        pathStyle3.Setters.Add(new Setter(Shape.StrokeProperty, new SolidColorBrush(Colors.Green)));
        pathStyle3.Setters.Add(new Setter(Shape.StrokeThicknessProperty, 2));

        Style lineStyle3 = new Style(typeof(Telerik.Windows.Controls.Charting.SelfDrawingSeries));
        lineStyle3.Setters.Add(new Setter(SelfDrawingSeries.BorderLineStyleProperty, pathStyle3));


        Style pathStyle4 = new Style(typeof(System.Windows.Shapes.Path));
        //pathStyle4.Setters.Add(new Setter(Shape.StrokeDashArrayProperty, "1"));
        pathStyle4.Setters.Add(new Setter(Shape.StrokeProperty, new SolidColorBrush(Colors.Black)));
        pathStyle4.Setters.Add(new Setter(Shape.StrokeThicknessProperty, 2));

        Style lineStyle4 = new Style(typeof(Telerik.Windows.Controls.Charting.SelfDrawingSeries));
        lineStyle4.Setters.Add(new Setter(SelfDrawingSeries.BorderLineStyleProperty, pathStyle4));

        DataSeries line1 = new DataSeries() { Definition = new LineSeriesDefinition() { ShowItemLabels = false, ShowPointMarks = false, SeriesStyle = lineStyle1 } };
        DataSeries line2 = new DataSeries() { Definition = new LineSeriesDefinition() { ShowItemLabels = false, ShowPointMarks = false, SeriesStyle = lineStyle2 } };
        DataSeries line3 = new DataSeries() { Definition = new LineSeriesDefinition() { ShowItemLabels = false, ShowPointMarks = false, SeriesStyle = lineStyle3 } };
        DataSeries line4 = new DataSeries() { Definition = new LineSeriesDefinition() { ShowItemLabels = false, ShowPointMarks = false, SeriesStyle = lineStyle4 } };


        //-------------------------Data Binding---------------------------
        List< WebService. RadChart1Data > objListAPS = new List<WebService.RadChart1Data>();
        objListAPS = (List< WebService. RadChart1Data >)e.Result.ToList();

        foreach (RadChart1Data obj in objListAPS)
        {
            line1.Add(new DataPoint(obj.Week, obj.BlueLine));
            line2.Add(new DataPoint(obj.Week, obj.RedLine));
            line3.Add(new DataPoint(obj.Week, obj.GreenLine));
            if (obj.BlackLine != 0)
                line4.Add(new DataPoint(obj.Week, obj. BlackLine));
        }

        RadChart1.DefaultView.ChartArea.DataSeries.Add(line1);
        RadChart1.DefaultView.ChartArea.DataSeries.Add(line2);
        RadChart1.DefaultView.ChartArea.DataSeries.Add(line3);
        RadChart1.DefaultView.ChartArea.DataSeries.Add(line4);

        RadChart1.DefaultView.ChartArea.AxisX.LayoutMode =  Telerik.Windows.Controls.Charting.AxisLayoutMode.Inside;

      

If anyone found this answer helpful, please mark it as correct, it may help others.

thank

Dinesh Harvester

+3


source







All Articles