Chart Series: Line

TKChartLineSeries plot their data points on Cartesian Area. Points are connected with straight lines. Here is how to set up two line series:

NSArray *expensesValues = @[@60, @30, @50, @32, @31];
NSArray *incomesValues = @[@70, @75, @58, @59, @88];
NSArray *profitValues = @[@10, @45, @8, @27, @57];
NSArray *categories = @[@"Greetings", @"Perfecto", @"NearBy", @"Family Store", @"Fresh & Green"];
for (int i = 0; i < categories.count ; i++) {
    [expensesData addObject:[TKChartDataPoint dataPointWithX:categories[i] Y:expensesValues[i]]];
    [incomesData addObject:[TKChartDataPoint dataPointWithX:categories[i] Y:incomesValues[i]]];
    [profitData addObject:[TKChartDataPoint dataPointWithX:categories[i] Y:profitValues[i]]];
}

TKChartLineSeries* seriesForExpenses = [[TKChartLineSeries alloc] initWithItems:expensesData];
seriesForExpenses.title = @"Expenses";
[chart addSeries:seriesForExpenses];

TKChartLineSeries* seriesForIncomes = [[TKChartLineSeries alloc] initWithItems:incomesData];
seriesForIncomes.title = @"Incomes";
[chart addSeries:seriesForIncomes];

TKChartLineSeries* seriesForProfit = [[TKChartLineSeries alloc] initWithItems:profitData];
seriesForProfit.title = @"Profit";
[chart addSeries:seriesForProfit];
let categories = ["Greetings", "Perfecto", "NearBy", "Family Store", "Fresh & Green" ]
let expensesValues = [60, 30, 50, 32, 31]
let incomesValues = [70, 75, 58, 59, 88]
let profitValues = [10, 45, 8, 27, 57]

for i in 0 ..< categories.count {
    expensesData.append(TKChartDataPoint(x: categories[i], y: expensesValues[i]))
    incomesData.append(TKChartDataPoint(x: categories[i], y: incomesValues[i]))
    profitData.append(TKChartDataPoint(x: categories[i], y: profitValues[i]))
}

let seriesForExpenses = TKChartLineSeries(items: expensesData)
seriesForExpenses.title = "Expenses"
chart.addSeries(seriesForExpenses)

let seriesForIncomes = TKChartLineSeries(items: incomesData)
seriesForIncomes.title = "Incomes"
chart.addSeries(seriesForIncomes)

let seriesForProfit = TKChartLineSeries(items: profitData)
seriesForProfit.title = "Profit"
chart.addSeries(seriesForProfit)
chart.legend.isHidden = false
var expensesData = new List<TKChartDataPoint> ();
var incomesData = new List<TKChartDataPoint> ();
var profitData = new List<TKChartDataPoint> ();

var categories = new [] { "Greetings", "Perfecto", "NearBy", "Family Store", "Fresh & Green" };
var expensesValues = new [] { 60, 30, 50, 32, 31 };
var incomesValues = new [] { 65, 75, 58, 59, 88 };
var profitValues = new [] { 5, 45, 8, 27, 57 };

for (int i = 0; i < categories.Length; ++i) {
    expensesData.Add (new TKChartDataPoint (new NSString (categories [i]), new NSNumber (expensesValues [i])));
    incomesData.Add (new TKChartDataPoint (new NSString (categories [i]), new NSNumber (incomesValues [i])));
    profitData.Add (new TKChartDataPoint (new NSString (categories [i]), new NSNumber (profitValues [i])));
}

var seriesForExpenses = new TKChartLineSeries(expensesData.ToArray());
seriesForExpenses.Title = "Expenses";
chart.AddSeries(seriesForExpenses);

var seriesForIncomes = new TKChartLineSeries(incomesData.ToArray());
seriesForIncomes.Title = "Incomes";
chart.AddSeries(seriesForIncomes);

var seriesForProfit = new TKChartLineSeries(profitData.ToArray());
seriesForProfit.Title = "Profit";
chart.AddSeries(seriesForProfit);
chart.Legend.Hidden = false;

Configure input and selection of line series

If you would like to configure the distance between finger touch and line to perform selection:


series.Selection = TKChartSeriesSelection.Series;

If you would like to change the series' stroke, you should use the following code snippet:

TKChartLineSeries *seriesForProfit = [[TKChartLineSeries alloc] initWithItems:profitData];
seriesForProfit.style.palette = [[TKChartPalette alloc] init];
TKChartPaletteItem *palleteItem = [[TKChartPaletteItem alloc] init];
palleteItem.stroke = [TKStroke strokeWithColor:[UIColor greenColor]];
[seriesForProfit.style.palette addPaletteItem:palleteItem];
[chart addSeries:seriesForProfit];
let seriesForProfit = TKChartLineSeries(items: profitData)
seriesForProfit.style.palette = TKChartPalette()
let paletteItem = TKChartPaletteItem()
paletteItem.stroke = TKStroke(color: UIColor.green)
seriesForProfit.style.palette!.addItem(paletteItem)
chart.addSeries(seriesForProfit)
var seriesForProfit = new TKChartLineSeries (profitData.ToArray());
seriesForProfit.Style.Palette = new TKChartPalette ();
var paletteItem = new TKChartPaletteItem ();
paletteItem.Stroke = new TKStroke (UIColor.Green);
seriesForProfit.Style.Palette.AddPaletteItem (paletteItem);
chart.AddSeries (seriesForProfit);