Funnel Chart

Renders a conversion funnel with progressively narrowing trapezoid stages. Each stage’s width is proportional to its value.

Basic Usage

<ArcadiaFunnelChart TItem="FunnelStage" Data="@data"
                  NameField="@(d => d.Stage)" ValueField="@(d => d.Count)"
                  Height="400" Width="500" Title="Conversion Funnel" />

@code {
    record FunnelStage(string Stage, double Count);

    List<FunnelStage> data = new()
    {
        new("Visitors", 10000),
        new("Signups", 4200),
        new("Trials", 1800),
        new("Paid", 720),
        new("Enterprise", 180),
    };
}

Parameters

ParameterTypeDefaultDescription
NameFieldFunc<T, string>requiredExtracts the stage name from each item
ValueFieldFunc<T, double>requiredExtracts the numeric value from each item
StageOpacitydouble0.85Opacity for each funnel stage shape
StageLabelColorstringwhiteFill color for the stage name label text

Plus all shared ChartBase parameters.

Events

EventTypeDescription
OnPointClickEventCallback<PointClickEventArgs<T>>Fired when a stage is clicked
OnSeriesClickEventCallback<int>Fired when a series is clicked

Features

  • Automatic width scaling relative to the maximum value
  • Hover tooltips with stage name and value
  • On-load animation (stages grow in sequence)
  • PNG/SVG export via toolbar (hover top-right)
  • Screen reader accessible data table