using System;
using System.Collections.Generic;
using System.Linq;
using Abt.Controls.SciChart.Model.DataSeries;
namespace SciChartsIssue
{
///
/// Interaction logic for ChartWindow.xaml
///
public partial class ChartWindow
{
private IOhlcDataSeries _priceDataSeries;
private IXyDataSeries _volumeDataSeries;
public ChartWindow()
{
InitializeComponent();
InitializeChart();
AddDataToChart(_priceDataSeries, _volumeDataSeries);
}
private void InitializeChart()
{
_priceDataSeries = new OhlcDataSeries();
RSeriesPrice.DataSeries = _priceDataSeries;
_volumeDataSeries = new XyDataSeries();
RSeriesVolume.DataSeries = _volumeDataSeries;
//DataSeriesSet dataSet = new DataSeriesSet();
//_priceDataSeries = dataSet.AddSeries>();
//PriceChart.DataSet = dataSet;
//DataSeriesSet dataSet2 = new DataSeriesSet();
//_volumeDataSeries = dataSet2.AddSeries>();
//VolumeChart.DataSet = dataSet2;
}
public static void AddDataToChart(IOhlcDataSeries priceDataSeries,
IXyDataSeries volumeDataSeries)
{
int numBars = 50;
var times = new List(numBars);
DateTime date = DateTime.Now.AddMinutes(-1 * 2 * numBars);
for (int i = 0; i < numBars; i++)
{
date = date.AddMinutes(1);
times.Add(date);
}
Random rnd = new Random();
var open = Enumerable.Range(0, numBars).Select(n => rnd.Next(1, 1000)).ToList();
var high = Enumerable.Range(0, numBars).Select(n => rnd.Next(1, 1000)).ToList();
var low = Enumerable.Range(0, numBars).Select(n => rnd.Next(1, 1000)).ToList();
var close = Enumerable.Range(0, numBars).Select(n => rnd.Next(1, 1000)).ToList();
var volume = Enumerable.Range(0, numBars).Select(n => rnd.Next(0, 100)).ToList();
priceDataSeries.Append(times, open, high, low, close);
volumeDataSeries.Append(times, volume);
}
}
}