The following code produces a bar chart showing average request amount grouped by year and type:
However, if I change the order of the data so that item 12 comes directly after item 3 like so:
I get a bar chart with two groupings for the year 2012. Is this a bug or am I doing something wrong?
List<RequestData> produceList = new List<RequestData>();produceList.Add(new RequestData("2", 132, DateTime.Today, "Cash Grants"));produceList.Add(new RequestData("1", 145, DateTime.Today.AddYears(1), "Cash Grants"));produceList.Add(new RequestData("3", 149, DateTime.Today.AddYears(1).AddDays(1), "Cash Grants"));produceList.Add(new RequestData("4", 187, DateTime.Today, "Cash Grants"));produceList.Add(new RequestData("5", 186, DateTime.Today.AddYears(1), "Matching Gifts"));produceList.Add(new RequestData("6", 131, DateTime.Today, "Dinners & Events"));produceList.Add(new RequestData("7", 173, DateTime.Today.AddYears(1), "Dinners & Events"));produceList.Add(new RequestData("8", 172, DateTime.Today, "Matching Gifts"));produceList.Add(new RequestData("9", 140, DateTime.Today.AddYears(1), "Cash Grants"));produceList.Add(new RequestData("10", 129, DateTime.Today, "Dinners & Events"));produceList.Add(new RequestData("11", 158, DateTime.Today, "Matching Gifts"));produceList.Add(new RequestData("12", 164, DateTime.Today.AddYears(1).AddDays(1), "Dinners & Events"));SeriesMapping seriesMapping = new SeriesMapping();seriesMapping.SeriesDefinition = new HorizontalBarSeriesDefinition();seriesMapping.GroupingSettings.GroupDescriptors.Add(new ChartGroupDescriptor("Type"));seriesMapping.GroupingSettings.GroupDescriptors.Add(new ChartYearGroupDescriptor("RequestDate"));seriesMapping.ItemMappings.Add(new ItemMapping("RequestAmount", DataPointMember.YValue, ChartAggregateFunction.Sum));seriesMapping.ItemMappings.Add(new ItemMapping("RequestDate", DataPointMember.XCategory));radChart.SeriesMappings.Add(seriesMapping);radChart.ItemsSource = produceList;radChart.DefaultView.ChartArea.AxisX.DefaultLabelFormat = "yyyy";However, if I change the order of the data so that item 12 comes directly after item 3 like so:
List<RequestData> produceList = new List<RequestData>();produceList.Add(new RequestData("2", 132, DateTime.Today, "Cash Grants"));produceList.Add(new RequestData("1", 145, DateTime.Today.AddYears(1), "Cash Grants"));produceList.Add(new RequestData("3", 149, DateTime.Today.AddYears(1).AddDays(1), "Cash Grants"));produceList.Add(new RequestData("12", 164, DateTime.Today.AddYears(1).AddDays(1), "Dinners & Events"));produceList.Add(new RequestData("4", 187, DateTime.Today, "Cash Grants"));produceList.Add(new RequestData("5", 186, DateTime.Today.AddYears(1), "Matching Gifts"));produceList.Add(new RequestData("6", 131, DateTime.Today, "Dinners & Events"));produceList.Add(new RequestData("7", 173, DateTime.Today.AddYears(1), "Dinners & Events"));produceList.Add(new RequestData("8", 172, DateTime.Today, "Matching Gifts"));produceList.Add(new RequestData("9", 140, DateTime.Today.AddYears(1), "Cash Grants"));produceList.Add(new RequestData("10", 129, DateTime.Today, "Dinners & Events"));produceList.Add(new RequestData("11", 158, DateTime.Today, "Matching Gifts"));SeriesMapping seriesMapping = new SeriesMapping();seriesMapping.SeriesDefinition = new HorizontalBarSeriesDefinition();seriesMapping.GroupingSettings.GroupDescriptors.Add(new ChartGroupDescriptor("Type"));seriesMapping.GroupingSettings.GroupDescriptors.Add(new ChartYearGroupDescriptor("RequestDate"));seriesMapping.ItemMappings.Add(new ItemMapping("RequestAmount", DataPointMember.YValue, ChartAggregateFunction.Sum));seriesMapping.ItemMappings.Add(new ItemMapping("RequestDate", DataPointMember.XCategory));radChart.SeriesMappings.Add(seriesMapping);radChart.ItemsSource = produceList;radChart.DefaultView.ChartArea.AxisX.DefaultLabelFormat = "yyyy";I get a bar chart with two groupings for the year 2012. Is this a bug or am I doing something wrong?