I'm trying make one chart with many series to compare, for example estimated vs effectived cash flow, I tried for several ways but until now I could not.
If possible I need one example that use aggregation function (sum) and show many series with date in x axys.
Below is more or less what I want.
List<List<SplineChartAux>> itemsSource = new List<List<SplineChartAux>>();
Random r = new Random();
int index = 0;
if (MyDataGrid.GroupDescriptors.OfType<ColumnGroupDescriptor>().Count() > 0)
{
var column = MyDataGrid.GroupDescriptors.OfType<ColumnGroupDescriptor>().First();
var ds = new List<String>();
var list = (this.DataSource as IEnumerable);
foreach (var item in list)
{
ds.Add(item.GetType().GetProperty(column.Column.UniqueName).GetValue(item, null) as string);
}
ds = ds.Distinct().ToList();
RadChart1.SeriesMappings.Clear();
foreach (var item in ds)
{
SeriesMapping sm = new SeriesMapping();
sm.SeriesDefinition = new SplineSeriesDefinition();
sm.LegendLabel = item;
sm.CollectionIndex = index;
sm.ItemMappings.Add(new ItemMapping("XValue", DataPointMember.XCategory));
sm.ItemMappings.Add(new ItemMapping("YValue", DataPointMember.YValue, aggFunct));
RadChart1.SeriesMappings.Add(sm);
index++;
}
}
RadChart1.ItemsSource = itemsSource;
If possible I need one example that use aggregation function (sum) and show many series with date in x axys.
Below is more or less what I want.
List<List<SplineChartAux>> itemsSource = new List<List<SplineChartAux>>();
Random r = new Random();
int index = 0;
if (MyDataGrid.GroupDescriptors.OfType<ColumnGroupDescriptor>().Count() > 0)
{
var column = MyDataGrid.GroupDescriptors.OfType<ColumnGroupDescriptor>().First();
var ds = new List<String>();
var list = (this.DataSource as IEnumerable);
foreach (var item in list)
{
ds.Add(item.GetType().GetProperty(column.Column.UniqueName).GetValue(item, null) as string);
}
ds = ds.Distinct().ToList();
RadChart1.SeriesMappings.Clear();
foreach (var item in ds)
{
SeriesMapping sm = new SeriesMapping();
sm.SeriesDefinition = new SplineSeriesDefinition();
sm.LegendLabel = item;
sm.CollectionIndex = index;
sm.ItemMappings.Add(new ItemMapping("XValue", DataPointMember.XCategory));
sm.ItemMappings.Add(new ItemMapping("YValue", DataPointMember.YValue, aggFunct));
RadChart1.SeriesMappings.Add(sm);
index++;
}
}
RadChart1.ItemsSource = itemsSource;