Stacked Bar Chart
The Ignite UI for Web Components stacked bar chart belongs to a group of category charts and is rendered using a collection of rectangles (IgcStackedFragmentSeriesComponent) that are stacked next to each other. Each stacked fragment in the collection represents one visual element in each stack. Each stack can contain both positive and negative values. All positive values are grouped on the positive side of the x-axis, and all negative values are grouped on the negative side of the x-axis. IgcStackedBarSeriesComponent uses the same concepts of data plotting as IgcStackedColumnSeriesComponent but data points are stacked along horizontal line (x-axis) rather than along vertical line (y-axis). In other words, the stacked bar chart is rendered like the stacked column chart but with 90 degrees clockwise rotation.
Demo
The IgcStackedBarSeriesComponent has its own IgcSeriesComponent collection in which you can place the IgcStackedFragmentSeriesComponent elements. These fragments are what make up the actual rendering of the chart and are the elements that accept the valueMemberPath.
Required Axes
The Web Components data chart component provides various types of axes but only the following types of axes can be used with IgcStackedBarSeriesComponent.
Required Data
The IgcStackedBarSeriesComponent has the following data requirements:
- The data source must be an array or a list of data items.
- The data source must contain at least one data item otherwise the chart will not render the
IgcStackedBarSeriesComponent. - All data items must contain at least one data column (string or date time) which should be mapped to the
Labelproperty of the category axis (e.g.IgcCategoryYAxisComponent). - All data items must contain at least one numeric data column which should be mapped using the
ValueMemberPathproperty of theIgcStackedFragmentSeriesComponentto be added to theIgcStackedBarSeriesComponent'IgcSeriesComponentcollection.
Required Modules
Creation of the IgcStackedBarSeriesComponent requires the following modules:
import { IgcDataChartComponent } from 'igniteui-webcomponents-charts';
import { IgcDataChartCoreModule } from 'igniteui-webcomponents-charts';
import { IgcDataChartCategoryModule } from 'igniteui-webcomponents-charts';
import { IgcDataChartStackedModule } from 'igniteui-webcomponents-charts';
import { IgcStackedFragmentSeriesModule } from 'igniteui-webcomponents-charts';
import { ModuleManager } from 'igniteui-webcomponents-core';
ModuleManager.register(
IgcDataChartCoreModule,
IgcDataChartCategoryModule,
IgcDataChartStackedModule,
IgcStackedFragmentSeriesModule,
);
Code Example
This code demonstrates how to create an instance of the Ignite UI for Web Components data chart with IgcStackedBarSeriesComponent and bind it to a data source.
<igc-data-chart id="chart" width="100%" height="100%">
<igc-numeric-x-axis name="xAxis" minimum-value="0"></igc-numeric-x-axis>
<igc-category-y-axis name="yAxis" label="Country"></igc-category-y-axis>
<igc-stacked-bar-series name="series" x-axis-name="xAxis" y-axis-name="yAxis">
<igc-stacked-fragment-series name="coal" value-member-path="Coal" title="Coal"></igc-stacked-fragment-series>
<igc-stacked-fragment-series name="hydro" value-member-path="Hydro" title="Hydro"></igc-stacked-fragment-series>
<igc-stacked-fragment-series name="nuclear" value-member-path="Nuclear" title="Nuclear"></igc-stacked-fragment-series>
<igc-stacked-fragment-series name="gas" value-member-path="Gas" title="Gas"></igc-stacked-fragment-series>
<igc-stacked-fragment-series name="oil" value-member-path="Oil" title="Oil"></igc-stacked-fragment-series>
</igc-stacked-bar-series>
</igc-data-chart>