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?