Version

Sample Scatter Data

Purpose

This topic provides sample data and data models for use with the XamDataChart™ control and its Scatter Series types.

In this topic

This topic contains the following sections:

Required Namespaces

In C#:

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;

namespace Infragistics.Models
{
  // TODO add data model
  // TODO add data source
}

In Visual Basic:

Imports System
Imports System.Collections.Generic
Imports System.Collections.ObjectModel
Imports System.ComponentModel
Imports System.Linq

Namespace Infragistics.Models
   ' TODO add data model
   ' TODO add data source
End Namespace

Data Model

In C#:

public class ScatterDataPoint
{
        public double X { get; set; }
        public double Y { get; set; }
}

In Visual Basic:

Public Class ScatterDataPoint
    Public Property X As Double
    Public Property Y As Double
End Class

Data Source

In C#:

public class ScatterDataSource : List<ScatterDataPoint>
{
    public static Random Rand = new Random();
    public ScatterDataSource()
    {
        int value = 50;
        for (int i = 0; i < 100; i++)
        {
            double change = Rand.NextDouble();
            if (change > .5)
            {
                value += (int)(change * 20);
            }
            else
            {
                value -= (int)(change * 20);
            }
            value %= 100;
            this.Add(new ScatterDataPoint
            {
                X = Rand.Next(i, i + 5),
                Y = Rand.Next(value - 50, value + 50)
            });
        }
    }
}

In Visual Basic:

Public Class ScatterDataSource Inherits List(Of ScatterDataPoint)
    Public Shared Rand As New Random()
    Public Sub New()
        Dim value As Integer = 50
        For i As Integer = 0 To 99
            Dim change As Double = Rand.NextDouble()
            If change > 0.5 Then
                value += CInt(Math.Truncate(change * 20))
            Else
                value -= CInt(Math.Truncate(change * 20))
            End If
            value = value Mod 100
            Me.Add(New ScatterDataPoint() With { _
                .X = Rand.Next(i, i + 5), _
                .Y = Rand.Next(value - 50, value + 50) _
            })
        Next
    End Sub
End Class