Line Series
Send Feedback

Glossary Item Box

Topic Overview

Purpose

This topic provides a conceptual overview of the Line series in the IGChartView™ control and uses a code example to demonstrate how to add it to the chart view.

In this topic


Introduction

Line series summary

Line series belongs to a group of category series that uses a collection of points connected by straight line segments when rendered. Values are represented on the y-axis (IGNumericYAxis) and categories display along the x-axis (IGCategoryXAxis or IGCategoryDateTimeXAxis).

The line series emphasizes the amount of change over time, or compares multiple items as well as the relationship of parts to a whole by displaying the total of the plotted values. Line series is identical to the spline series in all aspects except that line connecting data points do not have spline interpolation and smoothing for improved presentation of data.

Data requirements

While the IGChartView control allows easy binding to your own data model, make sure to supply the appropriate amounts and types of data required by the series. If the data does not meet the minimum requirements, based on the type of series that you are using, the IGChartView will appear blank.

The following is a list of data requirements for the area series type:

  • Required – the data model must contain at least one numeric field. The data model should contain two or more data items so that a line can have two or more points.
  • Optional – the data model may contain an optional string or NSDate field for labels.

Adding a Line Series to the IGChartView – Code Example

Description

The code below uses the IGCategorySeriesDataSourceHelper to supply randomly generated data to a line series that first gets added to the IGChartView instance, and then the IGChartView is added as a subview of the current UIView.

Prerequisites

This code example requires the inclusion of the IGChartView framework, detail about how to add this framework can be found in the Adding the Chart Framework File topic.

Code

In Objective-C:

    NSMutableArray data = [[NSMutableArray alloc] init];
    for (int i = 0; i < 25; i++)
    {
        double value = arc4random() % 100;
        [data addObject:[[NSNumber alloc] initWithDouble:value]];
    }
    
    IGCategorySeriesDataSourceHelper *source = [[IGCategorySeriesDataSourceHelper alloc] init];
    source.values = data;
    
    IGChartView *infraChart = [[IGChartView alloc] initWithFrame:self.view.frame];
    [infraChart setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight];
    
    IGCategoryXAxis *xAxis = [[IGCategoryXAxis alloc] initWithKey:@"xAxis"];
    IGNumericYAxis *yAxis = [[IGNumericYAxis alloc] initWithKey:@"yAxis"];
    [infraChart addAxis:xAxis];
    [infraChart addAxis:yAxis];
    
    IGLineSeries *lineSeries = [[IGLineSeries alloc] initWithKey:@"lineSeries"];
    lineSeries.xAxis = xAxis;
    lineSeries.yAxis = yAxis;
    lineSeries.dataSource = source;
    
    [infraChart addSeries:lineSeries];
    [self.view addSubview:infraChart];

In C#:


List<NSObject> data = new List<NSObject>();
Random r = new Random();
for(int i = 0;i <25; i++)
{
double val = r.Next() % 100;
data.Add(new NSNumber(val));
}

IGCategoryDateSeriesDataSourceHelper source = new IGCategoryDateSeriesDataSourceHelper();
source.Values = data.ToArray();



IGChartView chart = new IGChartView(this.View.Frame);
chart.AutoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth;

this.View.AddSubview(chart);


IGCategoryXAxis xAxis = new IGCategoryXAxis("xAxis");
IGNumericYAxis yAxis = new IGNumericYAxis("yAxis");
chart.AddAxis(xAxis);
chart.AddAxis(yAxis);


IGLineSeries series= new IGLineSeries ("series");
series.XAxis = xAxis;
series.YAxis = yAxis;
series.DataSource = source;

chart.AddSeries(columnSeries);


Related Content

Topics

The following topics provide additional information related to this topic.

Topic

Purpose

This is a group of topics explaining the various types of Category series supported by the IGChartView control.