ibcs-react
Components

StructureChart

A ranked horizontal bar chart showing composition / contribution, with AC vs PY overlap and % share.

Components ranked largest to smallest as horizontal bars, each overlapped with its comparison scenario, with the share of the total and a variance beside it.

When to use

Structure / composition - revenue by region, cost by category. Ranked, with a total row.

Example

North America12.4M+1.3M41%Europe8.9M+900K30%Asia Pacific5.6M+1.4M19%Latin America2.1M+600K7%Middle East & Af…1.1M+300K4%Total30.1M+4.5M100%
Composition versus PY - data table
ValuePYΔPYShare
North America12.4M11.1M+1.3M41%
Europe8.9M8M+900K30%
Asia Pacific5.6M4.2M+1.4M19%
Latin America2.1M1.5M+600K7%
Middle East & Africa1.1M800K+300K4%
Total30.1M25.6M+4.5M100%
import { StructureChart } from "ibcs-react";

<StructureChart data={[{ category: "EMEA", AC: 12e6, PY: 10e6 } /* … */]} comparison="PY" />;

The name key is category - the same key every other chart's data uses - so one array can feed a VarianceColumnChart and a StructureChart unchanged. (label, the only key before v1.1, still works as an alias.)

More examples

Composition vs plan

Rank the same regions but measure each against plan - Middle East & Africa, ahead of a small plan, stands out.

North America12.4M+400K41%Europe8.9M+300K30%Asia Pacific5.6M+400K19%Latin America2.1M+100K7%Middle East & Af…1.1M+400K4%Total30.1M+1.6M100%
Composition versus PL - data table
ValuePLΔPLShare
North America12.4M12M+400K41%
Europe8.9M8.6M+300K30%
Asia Pacific5.6M5.2M+400K19%
Latin America2.1M2M+100K7%
Middle East & Africa1.1M700K+400K4%
Total30.1M28.5M+1.6M100%
<StructureChart data={regions} comparison="PL" />

Cost components take higherIsBetter: false on the row so an increase reads as unfavorable.

Props

Prop

Type

ibcs-react is an independent open-source library and is not affiliated with, certified by, or endorsed by the IBCS Association or ISO. It follows the IBCS® notation rules (the basis of ISO 24896); IBCS® is a registered trademark of the IBCS Association.

On this page