Kristjan Einarsson
Top achievements
Rank 1
Kristjan Einarsson
asked on 21 Jun 2011, 12:50 PM
Hi, I'm not sure if this is possible but here is my scenario:
I'm using the StackedBar series and they work fine, but sometimes I will need to compare similar data and would need two series per datapoint on the X axis for this, and I have to do this in codebehind. In other words like a normal chart with multiple dataseries but with stacked bar chart.
Are there any examples for this ?
Best regards
Kristján.
I'm using the StackedBar series and they work fine, but sometimes I will need to compare similar data and would need two series per datapoint on the X axis for this, and I have to do this in codebehind. In other words like a normal chart with multiple dataseries but with stacked bar chart.
Are there any examples for this ?
Best regards
Kristján.
7 Answers, 1 is accepted
0
Hello Kristjan Einarsson,
Would a chart similar to our demo 2D Stacked Bar be suitable for your scenario? It makes use of 2 stack groups, so that each X axis point has 2 stacks of bars, which could easily be compared. in code behind you can set 2 or more stack groups by setting the series definition in the following manner :
Each Stacked Bar series that is assigned to "stack 1" would form the first stack, and each that is assigned to "stack 2" would form the second stack, as in the demo example.
Hope this helps.
Regards,
Nikolay
the Telerik team
Would a chart similar to our demo 2D Stacked Bar be suitable for your scenario? It makes use of 2 stack groups, so that each X axis point has 2 stacks of bars, which could easily be compared. in code behind you can set 2 or more stack groups by setting the series definition in the following manner :
stackedBarSeries1.Definition = new StackedBarSeriesDefinition("stack 1");Each Stacked Bar series that is assigned to "stack 1" would form the first stack, and each that is assigned to "stack 2" would form the second stack, as in the demo example.
Hope this helps.
Regards,
Nikolay
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
Kristjan Einarsson
Top achievements
Rank 1
answered on 29 Jun 2011, 12:21 PM
Hi, for some reason I'm not getting this to work. All the data is shown but the stacks do not "stack" together it makes a continuous chart
here is my code:
the itemssource is List<double[]>
can you spot what I'm doing wrong or do you have an dynamic stack example ?
Best regards
Kristján
here is my code:
for (int i = 0; i < model.Count; i++){ SeriesMapping seriesMapping = new SeriesMapping(); StackedBarSeriesDefinition definition = new StackedBarSeriesDefinition("Stack1"); SeriesMapping compareSeriesMapping = new SeriesMapping(); //When hover over series it will blur everything and only show the correct series and Legend item. definition.InteractivitySettings.HoverScope = InteractivityScope.Series; definition.InteractivitySettings.SelectionScope = InteractivityScope.Series; definition.ShowItemToolTips = true; definition.ShowItemLabels = false; seriesMapping.SeriesDefinition = definition; seriesMapping.CollectionIndex = i; ItemMapping im1 = new ItemMapping(); im1.DataPointMember = DataPointMember.YValue; seriesMapping.ItemMappings.Add(im1); chart.SeriesMappings.Add(seriesMapping);}int collectionCounter = model.Count - 1;for (int i = 0; i < model.Captions.Count; i++){ SeriesMapping seriesMapping = new SeriesMapping(); StackedBarSeriesDefinition definition = new StackedBarSeriesDefinition("Stack2"); SeriesMapping compareSeriesMapping = new SeriesMapping(); //When hover over series it will blur everything and only show the correct series and Legend item. definition.InteractivitySettings.HoverScope = InteractivityScope.Series; definition.InteractivitySettings.SelectionScope = InteractivityScope.Series; definition.ShowItemToolTips = true; definition.ShowItemLabels = false; seriesMapping.SeriesDefinition = definition; seriesMapping.CollectionIndex = collectionCounter; ItemMapping im1 = new ItemMapping(); im1.DataPointMember = DataPointMember.YValue; seriesMapping.ItemMappings.Add(im1); chart.SeriesMappings.Add(seriesMapping); collectionCounter++;}the itemssource is List<double[]>
can you spot what I'm doing wrong or do you have an dynamic stack example ?
Best regards
Kristján
0
Accepted
Hi Kristjan Einarsson,
Please, find attached a sample StackedBar application in code behind, which seems to fit your scenario. Perhaps reviewing it would help you.
Regards,
Nikolay
the Telerik team
Please, find attached a sample StackedBar application in code behind, which seems to fit your scenario. Perhaps reviewing it would help you.
Regards,
Nikolay
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
Kristjan Einarsson
Top achievements
Rank 1
answered on 06 Jul 2011, 03:40 PM
Hi, I took a look to your example, although it did not entirely fit my requirements it gave me an idea on how to accomplish this.
I changed the mappings as follows:
and the population:
Best regards
Kristján
I changed the mappings as follows:
for (int i = 0; i < 3; i++){ SeriesMapping seriesMapping = new SeriesMapping(); seriesMapping.SeriesDefinition = new StackedBarSeriesDefinition("stack 1"); seriesMapping.SeriesDefinition.ShowItemToolTips = true; seriesMapping.SeriesDefinition.ShowItemLabels = false; seriesMapping.SeriesDefinition.InteractivitySettings.HoverScope = InteractivityScope.Series; seriesMapping.SeriesDefinition.InteractivitySettings.SelectionScope = InteractivityScope.Series; //seriesMapping.ItemMappings.Add(new ItemMapping("XValue", DataPointMember.XValue)); seriesMapping.ItemMappings.Add(new ItemMapping("[" + i + "].Value1", DataPointMember.YValue)); chart.SeriesMappings.Add(seriesMapping);}and the population:
public static List<List<DataObject>> GetData(){ List<List<DataObject>> list = new List<List<DataObject>>(); for (int i = 0; i < 12; i++) { List<DataObject> listToAdd = new List<DataObject>(); DataObject num1 = new DataObject(0, rand.Next(10, 100), 10); DataObject num2 = new DataObject(0, rand.Next(10, 100), 10); DataObject num3 = new DataObject(0, rand.Next(10, 100), 10); listToAdd.Add(num1); listToAdd.Add(num2); listToAdd.Add(num3); list.Add(listToAdd); } return list;}Best regards
Kristján
0
Bhavya
Top achievements
Rank 1
answered on 03 Sep 2015, 11:00 AM
hi Nikolay,
Greetings!
i am having some problem. plz see the below attachments u will cm to know my problem.
i am getting the values for chart from dataset..
if x-axis values are same i should get stacked bar..
plz help me out from this prob.
0
Hello Manu,
This thread is about the old RadChart. This is the old charting control in our suite and due to its limitations, we suggest that you do not use it for new development. You can not use the much faster RadCharView. The RadChartView is actually a set of controls - RadCartesianChart, RadPieChart, RadPolarChart, ChartDataSource. It is generally pretty fast, easy to set up, and very flexible. Here are some links:
qsf examples
sdk samples
online documentation
In the online documentation and qsf examples you will see how to use a BarSeries with CategoryBinding, ValueBinding and CombineMode Stack so that you get a stacked chart.
Regards,
Petar Marchev
Telerik
This thread is about the old RadChart. This is the old charting control in our suite and due to its limitations, we suggest that you do not use it for new development. You can not use the much faster RadCharView. The RadChartView is actually a set of controls - RadCartesianChart, RadPieChart, RadPolarChart, ChartDataSource. It is generally pretty fast, easy to set up, and very flexible. Here are some links:
qsf examples
sdk samples
online documentation
In the online documentation and qsf examples you will see how to use a BarSeries with CategoryBinding, ValueBinding and CombineMode Stack so that you get a stacked chart.
Regards,
Petar Marchev
Telerik
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 Feedback Portal
and vote to affect the priority of the items
0
Bhavya
Top achievements
Rank 1
answered on 07 Sep 2015, 09:47 AM
thanks for the reply petar..
i am building my charts using radhtmlchart..
i solved my problem thanks :)