Chart for .NET > User's Guide > Chart Types > Bar > Stacked Percent Bar |
A 100% Stacked Bar chart displays all series stacked in a single column for each category. The height of each column is always the full height of the chart. The series values are displayed as percentages of each column. The Y scale range is always from 0 to 1 (0 - 100%). The following figure shows a typical Stack Percent Bar chart:
Figure 1.
Stacked Percent Bar charts are displayed with several NBarSeries objects. The MultiBarMode property of the first bar series must be set to MultiBarMode.Series. The MultiBarMode property of the subsequent bar series must be set to MultiBarMode.StackedPercent. The following example demonstrates how to create a stacked percent bar chart with three stacks:
C# |
Copy Code
|
---|---|
// obtain a reference to the Cartesian chart that is created by default
NCartesianChart chart = (NCartesianChart)chartControl.Charts[0];
NBarSeries bar1 = (NBarSeries)chart.Series.Add(SeriesType.Bar);
NBarSeries bar2 = (NBarSeries)chart.Series.Add(SeriesType.Bar);
NBarSeries bar3 = (NBarSeries)chart.Series.Add(SeriesType.Bar);
bar1.MultiBarMode = MultiBarMode.Series;
bar2.MultiBarMode = MultiBarMode.StackedPercent;
bar3.MultiBarMode = MultiBarMode.StackedPercent;
|
Visual Basic |
Copy Code
|
---|---|
' obtain a reference to the Cartesian chart that is created by default Dim chart As NCartesianChart = chartControl.Charts(0) Dim bar1 As NBarSeries = chart.Series.Add(SeriesType.Bar) Dim bar2 As NBarSeries = chart.Series.Add(SeriesType.Bar) Dim bar3 As NBarSeries = chart.Series.Add(SeriesType.Bar) bar1.MultiBarMode = MultiBarMode.Series bar2.MultiBarMode = MultiBarMode.StackedPercent bar3.MultiBarMode = MultiBarMode.StackedPercent |
When a bar series is displayed in stacked percent mode the min value of the series is always 0 and max value of the series is always 1. In order to display the texts on the PrimaryY axis formatted as percentage you have to use the following code:
C# |
Copy Code
|
---|---|
NStandardScaleConfigurator sc = (NStandardScaleConfigurator)chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator;
sc.LabelValueFormatter = new NNumericValueFormatter(NumericValueFormat.Percentage);
|
Visual Basic |
Copy Code
|
---|---|
Dim sc As NStandardScaleConfigurator = chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator sc.LabelValueFormatter = New NNumericValueFormatter(NumericValueFormat.Percentage) |
The following formatting commands inherited from the NSeries class have different meaning when a bar series is stacked:
<total> - displays the absolute sum of the values in the current stack.
<cumulative> - displays the sum of the values up to the current stack value.
<percent> - displays the percent contribution of the value to the total pile sum.