Hello,
I use the silverlight chart control to display charts with several stacked bars and simple bars, for example 6 stacked bars grouped in 2 bars (3 series on 1 bar, the others 3 on the second bar) using the property XCategory to group the series. I want to print this chart using the reporting but I haven't found the equivalent of the property 'XCategory', all the stacked series appears on the same bar. What can I do to group the series like in the silverlight chart control ?
I use the silverlight chart control to display charts with several stacked bars and simple bars, for example 6 stacked bars grouped in 2 bars (3 series on 1 bar, the others 3 on the second bar) using the property XCategory to group the series. I want to print this chart using the reporting but I haven't found the equivalent of the property 'XCategory', all the stacked series appears on the same bar. What can I do to group the series like in the silverlight chart control ?
3 Answers, 1 is accepted
0
Hello Rodolphe Latta,
Please use the StackGroupName property on the StackedBarSeriesDefinition class.
Sincerely yours,
Vladimir Milev
the Telerik team
Please use the StackGroupName property on the StackedBarSeriesDefinition class.
Sincerely yours,
Vladimir Milev
the Telerik team
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Explore the
Telerik Public Issue Tracking
system and vote to affect the priority of the items
0
Dave
Top achievements
Rank 1
answered on 10 Aug 2010, 12:12 AM
HI Vladimir ,
USing the StackGroupName did not work for me. The group name is data driven.
This is the xaml:
The Shape is the following:
THis is the itemsource setting
RevenueChart.ItemsSource = GetRevenue();
What am I missing? Attached is the resulting chart.
Thanks!
USing the StackGroupName did not work for me. The group name is data driven.
This is the xaml:
<
telerik:RadChart
x:Name
=
"RevenueChart"
telerik:StyleManager.Theme
=
"Vista"
><
br
>
<
telerik:RadChart.SeriesMappings
><
br
>
<
telerik:SeriesMapping
LegendLabel
=
"Renewals Not Signed"
><
br
>
<
telerik:SeriesMapping.SeriesDefinition
><
br
>
<
telerik:StackedBarSeriesDefinition
StackGroupName
=
"{Binding BranchName}"
><
br
>
</
telerik:StackedBarSeriesDefinition
><
br
>
</
telerik:SeriesMapping.SeriesDefinition
><
br
>
<
telerik:SeriesMapping.ItemMappings
><
br
>
<
telerik:ItemMapping
DataPointMember
=
"YValue"
FieldName
=
"RenewalsNotSigned"
></
telerik:ItemMapping
><
br
>
<
telerik:ItemMapping
DataPointMember
=
"XCategory"
FieldName
=
"IssueName"
></
telerik:ItemMapping
><
br
>
</
telerik:SeriesMapping.ItemMappings
><
br
>
</
telerik:SeriesMapping
><
br
>
<
br
>
<
telerik:SeriesMapping
LegendLabel
=
"Renewals Signed"
><
br
>
<
telerik:SeriesMapping.SeriesDefinition
><
br
>
<
telerik:StackedBarSeriesDefinition
StackGroupName
=
"{Binding BranchName}"
><
br
>
</
telerik:StackedBarSeriesDefinition
><
br
>
</
telerik:SeriesMapping.SeriesDefinition
><
br
>
<
telerik:SeriesMapping.ItemMappings
><
br
>
<
telerik:ItemMapping
DataPointMember
=
"YValue"
FieldName
=
"RenewalsSigned"
></
telerik:ItemMapping
><
br
>
<
telerik:ItemMapping
DataPointMember
=
"XCategory"
FieldName
=
"IssueName"
></
telerik:ItemMapping
><
br
>
</
telerik:SeriesMapping.ItemMappings
><
br
>
</
telerik:SeriesMapping
><
br
>
<
br
>
<
telerik:SeriesMapping
LegendLabel
=
"Ongoing"
><
br
>
<
telerik:SeriesMapping.SeriesDefinition
><
br
>
<
telerik:StackedBarSeriesDefinition
StackGroupName
=
"{Binding BranchName}"
></
telerik:StackedBarSeriesDefinition
><
br
>
</
telerik:SeriesMapping.SeriesDefinition
><
br
>
<
telerik:SeriesMapping.ItemMappings
><
br
>
<
telerik:ItemMapping
DataPointMember
=
"YValue"
FieldName
=
"OngoingRev"
></
telerik:ItemMapping
><
br
>
<
telerik:ItemMapping
DataPointMember
=
"XCategory"
FieldName
=
"IssueName"
></
telerik:ItemMapping
><
br
>
</
telerik:SeriesMapping.ItemMappings
><
br
>
</
telerik:SeriesMapping
><
br
>
<
br
>
<
telerik:SeriesMapping
LegendLabel
=
"New"
><
br
>
<
telerik:SeriesMapping.SeriesDefinition
><
br
>
<
telerik:StackedBarSeriesDefinition
StackGroupName
=
"{Binding BranchName}"
></
telerik:StackedBarSeriesDefinition
><
br
>
</
telerik:SeriesMapping.SeriesDefinition
><
br
>
<
telerik:SeriesMapping.ItemMappings
><
br
>
<
telerik:ItemMapping
DataPointMember
=
"YValue"
FieldName
=
"NewRev"
></
telerik:ItemMapping
><
br
>
<
telerik:ItemMapping
DataPointMember
=
"XCategory"
FieldName
=
"IssueName"
></
telerik:ItemMapping
><
br
>
</
telerik:SeriesMapping.ItemMappings
><
br
>
</
telerik:SeriesMapping
><
br
>
</
telerik:RadChart.SeriesMappings
><
br
>
</
telerik:RadChart
>
The Shape is the following:
public
List<RevenueRecords> GetRevenue()
{
List<RevenueRecords> rec =
new
List<RevenueRecords>();
rec.Add(
new
RevenueRecords() { BranchName =
"Branch1"
, IssueName =
"Issue 1"
, NewRev = 10, OngoingRev = 40, RenewalsNotSigned = -10, RenewalsSigned = 12 });
rec.Add(
new
RevenueRecords() { BranchName =
"Branch1"
, IssueName =
"Issue 2"
, NewRev = 10, OngoingRev = 40, RenewalsNotSigned = -10, RenewalsSigned = 13 });
rec.Add(
new
RevenueRecords() { BranchName =
"Branch1"
, IssueName =
"Issue 3"
, NewRev = 10, OngoingRev = 40, RenewalsNotSigned = -10, RenewalsSigned = 14 });
rec.Add(
new
RevenueRecords() { BranchName =
"Branch1"
, IssueName =
"Issue 4"
, NewRev = 10, OngoingRev = 40, RenewalsNotSigned = -10, RenewalsSigned = 15 });
<br>
rec.Add(
new
RevenueRecords() { BranchName =
"Branch2"
, IssueName =
"Issue 1"
, NewRev = 10, OngoingRev = 40, RenewalsNotSigned = -10, RenewalsSigned = 16 });
rec.Add(
new
RevenueRecords() { BranchName =
"Branch2"
, IssueName =
"Issue 2"
, NewRev = 10, OngoingRev = 40, RenewalsNotSigned = -10, RenewalsSigned = 17 });
rec.Add(
new
RevenueRecords() { BranchName =
"Branch2"
, IssueName =
"Issue 3"
, NewRev = 10, OngoingRev = 40, RenewalsNotSigned = -10, RenewalsSigned = 18 });
rec.Add(
new
RevenueRecords() { BranchName =
"Branch2"
, IssueName =
"Issue 4"
, NewRev = 10, OngoingRev = 40, RenewalsNotSigned = -10, RenewalsSigned = 19 });
return
rec;
}
public
class
RevenueRecords
{
public
string
BranchName {
get
;
set
; }
public
string
IssueName {
get
;
set
; }
public
double
RenewalsNotSigned {
get
;
set
; }
public
double
RenewalsSigned {
get
;
set
; }
public
double
OngoingRev {
get
;
set
; }
public
double
NewRev {
get
;
set
; }
}
THis is the itemsource setting
RevenueChart.ItemsSource = GetRevenue();
What am I missing? Attached is the resulting chart.
Thanks!
0
Hi Dave Lowery,
You can take advantage of the StackGroupFieldName property of the GroupingSettings:
I have attached a small example, based on your code.
All the best,
Ves
the Telerik team
You can take advantage of the StackGroupFieldName property of the GroupingSettings:
<
telerik:SeriesMapping
LegendLabel
=
"Renewals Not Signed"
>
<
telerik:SeriesMapping.GroupingSettings
>
<
telerik:GroupingSettings
StackGroupFieldName
=
"BranchName"
>
<
telerik:GroupingSettings.GroupDescriptors
>
<
telerik:ChartGroupDescriptor
Member
=
"BranchName"
></
telerik:ChartGroupDescriptor
>
</
telerik:GroupingSettings.GroupDescriptors
>
</
telerik:GroupingSettings
>
</
telerik:SeriesMapping.GroupingSettings
>
<
telerik:SeriesMapping.SeriesDefinition
>
<
telerik:StackedBarSeriesDefinition
/>
</
telerik:SeriesMapping.SeriesDefinition
>
<
telerik:SeriesMapping.ItemMappings
>
<
telerik:ItemMapping
DataPointMember
=
"YValue"
FieldName
=
"RenewalsNotSigned"
></
telerik:ItemMapping
>
<
telerik:ItemMapping
DataPointMember
=
"XCategory"
FieldName
=
"IssueName"
></
telerik:ItemMapping
>
</
telerik:SeriesMapping.ItemMappings
>
</
telerik:SeriesMapping
>
I have attached a small example, based on your code.
All the best,
Ves
the Telerik team
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Explore the
Telerik Public Issue Tracking
system and vote to affect the priority of the items