AFN AFN Widgets
Gallery
Trend Available v1.0.0

Funded Volume by Channel (Stacked Area)

Cumulative by channel over time

Live preview

Rendered from sample data fed via .data — exactly how your app feeds it.

Data contract

ColumnTypeReq
Category string
Value number
Series string

Emits ready, error and widget-select when a mark is clicked — wiring up drill-down.

Embed code

URL:
Colours:
<!-- 1. Load the widget (self-registers <afn-fundedvolumebychannelstackedarea>) -->
<script type="module" src="https://widgets-d.afnai.com/cdn/afn-fundedvolumebychannelstackedarea/v1/afn-fundedvolumebychannelstackedarea.js"></script>

<!-- 2. Drop the tag -->
<afn-fundedvolumebychannelstackedarea id="w"></afn-fundedvolumebychannelstackedarea>

<!-- 3. Feed your data -->
<script>
  const el = document.querySelector('#w');
  el.data = [
    {"Category":"Jan","Series":"Retail","Value":28000000},
    {"Category":"Jan","Series":"Wholesale","Value":12000000},
    {"Category":"Jan","Series":"Correspondent","Value":8000000},
    {"Category":"Feb","Series":"Retail","Value":31000000},
    {"Category":"Feb","Series":"Wholesale","Value":14000000},
    {"Category":"Feb","Series":"Correspondent","Value":9000000},
    {"Category":"Mar","Series":"Retail","Value":29000000},
    {"Category":"Mar","Series":"Wholesale","Value":13000000},
    {"Category":"Mar","Series":"Correspondent","Value":7000000},
    {"Category":"Apr","Series":"Retail","Value":34000000},
    {"Category":"Apr","Series":"Wholesale","Value":15000000},
    {"Category":"Apr","Series":"Correspondent","Value":10000000},
    {"Category":"May","Series":"Retail","Value":36000000},
    {"Category":"May","Series":"Wholesale","Value":16000000},
    {"Category":"May","Series":"Correspondent","Value":11000000},
    {"Category":"Jun","Series":"Retail","Value":33000000},
    {"Category":"Jun","Series":"Wholesale","Value":14000000},
    {"Category":"Jun","Series":"Correspondent","Value":9000000},
    {"Category":"Jul","Series":"Retail","Value":38000000},
    {"Category":"Jul","Series":"Wholesale","Value":17000000},
    {"Category":"Jul","Series":"Correspondent","Value":12000000},
    {"Category":"Aug","Series":"Retail","Value":41000000},
    {"Category":"Aug","Series":"Wholesale","Value":18000000},
    {"Category":"Aug","Series":"Correspondent","Value":13000000}
  ];
</script>

v1 gets non-breaking fixes automatically; a breaking change bumps to the next major and never touches your embed. Bring-your-own-data: your app feeds the rows via .data. Integration guide — framework setup, versioning and the origin allowlist.