syncfusion-flutter-funnel-charts

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Syncfusion Flutter Funnel Chart

Syncfusion Flutter 漏斗图

This skill covers the Syncfusion Flutter SfFunnelChart widget for visualizing data in a funnel shape, typically used to represent stages in a process where values progressively decrease.
本教程介绍Syncfusion Flutter的SfFunnelChart组件,它可以将数据以漏斗形状可视化,通常用于展示数值逐步递减的流程阶段。

When to Use This Skill

何时使用本教程

Use this skill when you need to:
  • Visualize conversion funnels showing stages in a sales or marketing process
  • Display hierarchical data with progressively decreasing values
  • Track process stages in workflows, pipelines, or sequential processes
  • Analyze conversion rates across different stages (leads, prospects, customers)
  • Show sales pipelines with deal progression through various stages
  • Visualize filtering processes where data is reduced at each step
  • Display recruitment funnels showing candidate progression through hiring stages
  • Create marketing analytics showing user journey from awareness to conversion
  • Represent process efficiency with data reduction at each stage
  • Build analytics dashboards with funnel visualization for business metrics
当你需要实现以下需求时可以使用本教程:
  • 可视化转化漏斗,展示销售或营销流程的各个阶段
  • 展示数值逐层递减的层级数据
  • 追踪工作流、销售管道或顺序流程的各个阶段
  • 分析不同阶段(线索、潜在客户、客户)的转化率
  • 展示销售管道中交易在不同阶段的推进情况
  • 可视化每步数据逐步缩减的过滤流程
  • 展示招聘漏斗中候选人在不同招聘阶段的推进情况
  • 构建营销分析视图,展示用户从认知到转化的完整旅程
  • 通过各阶段数据缩减情况体现流程效率
  • 搭建分析看板,为业务指标提供漏斗形式的可视化展示

Key Features

核心特性

  • Funnel visualization with neck and body segments
  • Interactive selection with single and multi-selection support
  • Rich tooltips with customizable appearance and activation modes
  • Data labels with flexible positioning (inside/outside) and styling
  • Legend support with customization and toggling capabilities
  • Exploded segments for emphasis on specific data points
  • Gap between segments for clear visual separation
  • Animation support with customizable duration and delay
  • Palette colors for automatic color application
  • Export capabilities to PNG images and PDF documents
  • RTL support for right-to-left languages
  • Accessibility features with semantic labels and screen reader support
  • Responsive sizing with configurable width and height
  • Empty point handling with multiple modes
  • Color mapping for data-driven colors
  • 包含颈部和主体分段的漏斗可视化效果
  • 支持单选和多选的交互选择能力
  • 丰富的工具提示,支持自定义外观和触发方式
  • 数据标签支持灵活的定位(内部/外部)和样式设置
  • 支持图例,可自定义并支持点击切换显示状态
  • 支持分段炸开效果,用于突出特定数据点
  • 分段之间可设置间隙,实现清晰的视觉分隔
  • 支持动画效果,可自定义动画时长和延迟
  • 内置配色盘,可自动应用配色
  • 支持导出为PNG图片和PDF文档
  • 支持RTL(从右到左)语言适配
  • 无障碍特性,支持语义标签和屏幕阅读器
  • 响应式尺寸,可自定义宽高
  • 多模式空值处理能力
  • 支持颜色映射,基于数据动态设置颜色

Documentation and Navigation Guide

文档和导航指南

Getting Started

入门指南

📄 Read: references/getting-started.md
  • Installation and package setup
  • Basic SfFunnelChart implementation
  • Adding data source and binding
  • First chart creation
  • Package dependencies and imports
  • Quick start code examples
📄 阅读: references/getting-started.md
  • 安装和包配置
  • 基础SfFunnelChart实现
  • 添加数据源和数据绑定
  • 创建第一个图表
  • 包依赖和导入
  • 快速入门代码示例

Component Overview

组件概览

📄 Read: references/overview.md
  • SfFunnelChart widget overview and features
  • When to use funnel charts vs other chart types
  • Key features and capabilities
  • Common use cases and scenarios
  • Component architecture
📄 阅读: references/overview.md
  • SfFunnelChart组件概览和特性介绍
  • 漏斗图和其他图表类型的适用场景对比
  • 核心特性和能力
  • 常见使用场景和案例
  • 组件架构

Funnel Customization

漏斗自定义

📄 Read: references/funnel-customization.md
  • Funnel size configuration (height and width)
  • Neck size customization (neckHeight and neckWidth)
  • Gap between segments (gapRatio)
  • Exploding segments (explode, explodeIndex, explodeOffset)
  • Segment borders and opacity
  • Palette colors application
  • Visual appearance customization
📄 阅读: references/funnel-customization.md
  • 漏斗尺寸配置(高度和宽度)
  • 颈部尺寸自定义(neckHeight和neckWidth)
  • 分段间隙设置(gapRatio)
  • 分段炸开配置(explode、explodeIndex、explodeOffset)
  • 分段边框和透明度设置
  • 配色盘应用
  • 视觉外观自定义

Series Customization

系列自定义

📄 Read: references/series-customization.md
  • Animation settings (duration and delay)
  • Empty point handling (gap, zero, drop, average modes)
  • Empty point customization (color, border)
  • Color mapping for data points (pointColorMapper)
  • Series-level styling options
📄 阅读: references/series-customization.md
  • 动画设置(时长和延迟)
  • 空值处理(间隙、零值、丢弃、平均值模式)
  • 空值样式自定义(颜色、边框)
  • 数据点颜色映射(pointColorMapper)
  • 系列层级的样式配置选项

Data Labels

数据标签

📄 Read: references/datalabel.md
  • Enabling and positioning data labels
  • Label alignment options (outer, auto, top, bottom, middle)
  • Label position (inside/outside)
  • Styling data labels (color, font, borders)
  • Using series colors for labels
  • Hiding labels for zero values
  • Overflow mode handling
  • Data label templates with builder
📄 阅读: references/datalabel.md
  • 数据标签启用和定位
  • 标签对齐选项(外部、自动、顶部、底部、居中)
  • 标签位置(内部/外部)
  • 数据标签样式设置(颜色、字体、边框)
  • 标签使用系列颜色
  • 零值标签隐藏
  • 溢出模式处理
  • 支持构造器自定义数据标签模板

Legend

图例

📄 Read: references/legend.md
  • Enabling legend (isVisible)
  • Customizing legend appearance
  • Legend title configuration
  • Legend positioning (top, bottom, left, right, auto)
  • Legend overflow modes (scroll, wrap)
  • Toggling series visibility
  • Floating legend with offset
  • Legend item templates with builder
📄 阅读: references/legend.md
  • 图例启用(isVisible)
  • 图例外观自定义
  • 图例标题配置
  • 图例定位(顶部、底部、左侧、右侧、自动)
  • 图例溢出模式(滚动、换行)
  • 点击图例切换系列显示状态
  • 支持偏移量设置的浮动图例
  • 支持构造器自定义图例项模板

Tooltip

工具提示

📄 Read: references/tooltip.md
  • Enabling tooltips (TooltipBehavior)
  • Customizing tooltip appearance (colors, borders, elevation)
  • Tooltip formatting and templates
  • Tooltip positioning (auto, pointer)
  • Activation modes (tap, double tap, long press)
  • Tooltip duration and animation
  • Custom tooltip builders
📄 阅读: references/tooltip.md
  • 工具提示启用(TooltipBehavior)
  • 工具提示外观自定义(颜色、边框、阴影)
  • 工具提示格式化和模板
  • 工具提示定位(自动、跟随指针)
  • 触发模式(点击、双击、长按)
  • 工具提示显示时长和动画
  • 自定义工具提示构造器

Selection

选择功能

📄 Read: references/selection.md
  • Enabling selection (SelectionBehavior)
  • Single and multi-selection
  • Customizing selected segments (colors, borders, opacity)
  • Customizing unselected segments
  • Initial selection on rendering
  • Toggle selection behavior
  • Programmatic selection with methods
📄 阅读: references/selection.md
  • 选择功能启用(SelectionBehavior)
  • 单选和多选支持
  • 选中分段自定义(颜色、边框、透明度)
  • 未选中分段自定义
  • 渲染时默认选中配置
  • 切换选择行为
  • 代码控制选择的方法

Chart Title and Appearance

图表标题和外观

📄 Read: references/chart-title.md
  • Adding and styling chart title
  • Title alignment (near, center, far)
  • Title background and borders
  • Title text styling
📄 Read: references/chart-appearance.md
  • Chart sizing (width/height)
  • Chart margin configuration
  • Background color and image
  • Border customization
📄 阅读: references/chart-title.md
  • 添加和设置图表标题样式
  • 标题对齐(靠近、居中、远离)
  • 标题背景和边框
  • 标题文本样式设置
📄 阅读: references/chart-appearance.md
  • 图表尺寸(宽度/高度)
  • 图表边距配置
  • 背景颜色和背景图片
  • 边框自定义

Callbacks and Events

回调和事件

📄 Read: references/callbacks.md
  • onLegendItemRender - Customize legend items
  • onTooltipRender - Customize tooltip content
  • onDataLabelRender - Customize data labels
  • onLegendTapped - Handle legend taps
  • onSelectionChanged - Handle selection events
  • onDataLabelTapped - Handle data label taps
  • onPointTap - Handle segment taps
  • onPointDoubleTap - Handle double taps
  • onPointLongPress - Handle long press
  • onChartTouchInteractionUp/Down/Move - Touch interactions
  • onRendererCreated - Access series controller
📄 阅读: references/callbacks.md
  • onLegendItemRender - 自定义图例项
  • onTooltipRender - 自定义工具提示内容
  • onDataLabelRender - 自定义数据标签
  • onLegendTapped - 处理图例点击事件
  • onSelectionChanged - 处理选择变更事件
  • onDataLabelTapped - 处理数据标签点击事件
  • onPointTap - 处理分段点击事件
  • onPointDoubleTap - 处理分段双击事件
  • onPointLongPress - 处理分段长按事件
  • onChartTouchInteractionUp/Down/Move - 触摸交互事件
  • onRendererCreated - 获取系列控制器

Common Patterns and Best Practices

常见模式和最佳实践

📄 Read: references/common-patterns.md
  • Sales pipeline funnel pattern
  • Marketing conversion with colors
  • Exploded segment emphasis
  • Custom neck sizing techniques
  • Dynamic updates with controller
  • Pattern combination examples
  • Pattern selection guide
📄 阅读: references/common-patterns.md
  • 销售管道漏斗模式
  • 带颜色标识的营销转化模式
  • 分段炸开突出效果
  • 自定义颈部尺寸技巧
  • 通过控制器实现动态更新
  • 模式组合示例
  • 模式选择指南

Advanced Features

高级特性

📄 Read: references/methods.md
  • FunnelSeriesController methods
  • pixelToPoint conversion
  • Dynamic data updates
  • Programmatic control
📄 Read: references/export-funnel-chart.md
  • Export chart as PNG image
  • Export chart as PDF document
  • Image quality and pixel ratio
  • PDF document creation
📄 阅读: references/methods.md
  • FunnelSeriesController方法
  • 像素坐标转数据点坐标
  • 动态数据更新
  • 代码控制能力
📄 阅读: references/export-funnel-chart.md
  • 导出图表为PNG图片
  • 导出图表为PDF文档
  • 图片质量和像素比设置
  • PDF文档创建

Localization and Accessibility

本地化和无障碍

📄 Read: references/accessibility.md
  • Screen reader support
  • Color contrast requirements
  • Large font support
  • Touch target sizing
  • Accessible interactions
📄 Read: references/right-to-left.md
  • RTL support for Arabic, Hebrew, etc.
  • Directionality widget usage
  • RTL locale configuration
  • Legend and tooltip RTL behavior
📄 阅读: references/accessibility.md
  • 屏幕阅读器支持
  • 色彩对比度要求
  • 大字体支持
  • 触控目标尺寸设置
  • 无障碍交互
📄 阅读: references/right-to-left.md
  • 阿拉伯语、希伯来语等RTL语言支持
  • Directionality组件使用
  • RTL区域配置
  • 图例和工具提示的RTL行为适配

Quick Start Examples

快速入门示例

Basic Funnel Chart

基础漏斗图

dart
import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_charts/charts.dart';

class BasicFunnelChart extends StatelessWidget {
  
  Widget build(BuildContext context) {
    final List<ChartData> chartData = [
      ChartData('Prospects', 500),
      ChartData('Qualified', 350),
      ChartData('Contacted', 250),
      ChartData('Negotiating', 150),
      ChartData('Won', 100)
    ];
    
    return Scaffold(
      appBar: AppBar(title: Text('Sales Funnel')),
      body: Center(
        child: SfFunnelChart(
          title: ChartTitle(text: 'Sales Pipeline Analysis'),
          legend: Legend(isVisible: true),
          series: FunnelSeries<ChartData, String>(
            dataSource: chartData,
            xValueMapper: (ChartData data, _) => data.stage,
            yValueMapper: (ChartData data, _) => data.value,
            dataLabelSettings: DataLabelSettings(isVisible: true)
          )
        )
      )
    );
  }
}

class ChartData {
  ChartData(this.stage, this.value);
  final String stage;
  final double value;
}
dart
import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_charts/charts.dart';

class BasicFunnelChart extends StatelessWidget {
  
  Widget build(BuildContext context) {
    final List<ChartData> chartData = [
      ChartData('Prospects', 500),
      ChartData('Qualified', 350),
      ChartData('Contacted', 250),
      ChartData('Negotiating', 150),
      ChartData('Won', 100)
    ];
    
    return Scaffold(
      appBar: AppBar(title: Text('Sales Funnel')),
      body: Center(
        child: SfFunnelChart(
          title: ChartTitle(text: 'Sales Pipeline Analysis'),
          legend: Legend(isVisible: true),
          series: FunnelSeries<ChartData, String>(
            dataSource: chartData,
            xValueMapper: (ChartData data, _) => data.stage,
            yValueMapper: (ChartData data, _) => data.value,
            dataLabelSettings: DataLabelSettings(isVisible: true)
          )
        )
      )
    );
  }
}

class ChartData {
  ChartData(this.stage, this.value);
  final String stage;
  final double value;
}

Funnel Chart with Customization

自定义漏斗图

dart
import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_charts/charts.dart';

class CustomFunnelChart extends StatelessWidget {
  
  Widget build(BuildContext context) {
    final List<ChartData> chartData = [
      ChartData('Awareness', 1000, Colors.blue),
      ChartData('Interest', 750, Colors.green),
      ChartData('Consideration', 500, Colors.orange),
      ChartData('Intent', 300, Colors.purple),
      ChartData('Purchase', 150, Colors.red)
    ];
    
    return Scaffold(
      appBar: AppBar(title: Text('Marketing Funnel')),
      body: Center(
        child: SfFunnelChart(
          title: ChartTitle(
            text: 'Customer Journey Analysis',
            textStyle: TextStyle(fontSize: 18, fontWeight: FontWeight.bold)
          ),
          legend: Legend(
            isVisible: true,
            position: LegendPosition.bottom
          ),
          tooltipBehavior: TooltipBehavior(enable: true),
          series: FunnelSeries<ChartData, String>(
            dataSource: chartData,
            xValueMapper: (ChartData data, _) => data.stage,
            yValueMapper: (ChartData data, _) => data.value,
            pointColorMapper: (ChartData data, _) => data.color,
            // Customize funnel appearance
            height: '80%',
            width: '80%',
            neckHeight: '20%',
            neckWidth: '15%',
            gapRatio: 0.1,
            explode: true,
            explodeIndex: 4,
            explodeOffset: '10%',
            dataLabelSettings: DataLabelSettings(
              isVisible: true,
              labelPosition: ChartDataLabelPosition.inside,
              textStyle: TextStyle(
                color: Colors.white,
                fontWeight: FontWeight.bold
              )
            )
          )
        )
      )
    );
  }
}

class ChartData {
  ChartData(this.stage, this.value, this.color);
  final String stage;
  final double value;
  final Color color;
}
dart
import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_charts/charts.dart';

class CustomFunnelChart extends StatelessWidget {
  
  Widget build(BuildContext context) {
    final List<ChartData> chartData = [
      ChartData('Awareness', 1000, Colors.blue),
      ChartData('Interest', 750, Colors.green),
      ChartData('Consideration', 500, Colors.orange),
      ChartData('Intent', 300, Colors.purple),
      ChartData('Purchase', 150, Colors.red)
    ];
    
    return Scaffold(
      appBar: AppBar(title: Text('Marketing Funnel')),
      body: Center(
        child: SfFunnelChart(
          title: ChartTitle(
            text: 'Customer Journey Analysis',
            textStyle: TextStyle(fontSize: 18, fontWeight: FontWeight.bold)
          ),
          legend: Legend(
            isVisible: true,
            position: LegendPosition.bottom
          ),
          tooltipBehavior: TooltipBehavior(enable: true),
          series: FunnelSeries<ChartData, String>(
            dataSource: chartData,
            xValueMapper: (ChartData data, _) => data.stage,
            yValueMapper: (ChartData data, _) => data.value,
            pointColorMapper: (ChartData data, _) => data.color,
            // Customize funnel appearance
            height: '80%',
            width: '80%',
            neckHeight: '20%',
            neckWidth: '15%',
            gapRatio: 0.1,
            explode: true,
            explodeIndex: 4,
            explodeOffset: '10%',
            dataLabelSettings: DataLabelSettings(
              isVisible: true,
              labelPosition: ChartDataLabelPosition.inside,
              textStyle: TextStyle(
                color: Colors.white,
                fontWeight: FontWeight.bold
              )
            )
          )
        )
      )
    );
  }
}

class ChartData {
  ChartData(this.stage, this.value, this.color);
  final String stage;
  final double value;
  final Color color;
}

Funnel Chart with Tooltip and Selection

带工具提示和选择功能的漏斗图

dart
import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_charts/charts.dart';

class InteractiveFunnelChart extends StatefulWidget {
  
  _InteractiveFunnelChartState createState() => _InteractiveFunnelChartState();
}

class _InteractiveFunnelChartState extends State<InteractiveFunnelChart> {
  late TooltipBehavior _tooltipBehavior;
  late SelectionBehavior _selectionBehavior;

  
  void initState() {
    _tooltipBehavior = TooltipBehavior(
      enable: true,
      format: 'point.x: point.y leads',
      color: Colors.black87,
      textStyle: TextStyle(color: Colors.white)
    );
    
    _selectionBehavior = SelectionBehavior(
      enable: true,
      selectedColor: Colors.deepOrange,
      unselectedColor: Colors.grey[300]
    );
    
    super.initState();
  }

  
  Widget build(BuildContext context) {
    final List<ChartData> chartData = [
      ChartData('Visitors', 5000),
      ChartData('Sign-ups', 3500),
      ChartData('Active Users', 2000),
      ChartData('Premium Users', 800),
      ChartData('Renewals', 500)
    ];
    
    return Scaffold(
      appBar: AppBar(title: Text('Subscription Funnel')),
      body: Center(
        child: SfFunnelChart(
          title: ChartTitle(text: 'User Conversion Funnel'),
          legend: Legend(isVisible: true),
          tooltipBehavior: _tooltipBehavior,
          series: FunnelSeries<ChartData, String>(
            dataSource: chartData,
            xValueMapper: (ChartData data, _) => data.stage,
            yValueMapper: (ChartData data, _) => data.count,
            selectionBehavior: _selectionBehavior,
            dataLabelSettings: DataLabelSettings(
              isVisible: true,
              labelPosition: ChartDataLabelPosition.outside
            )
          )
        )
      )
    );
  }
}

class ChartData {
  ChartData(this.stage, this.count);
  final String stage;
  final double count;
}
dart
import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_charts/charts.dart';

class InteractiveFunnelChart extends StatefulWidget {
  
  _InteractiveFunnelChartState createState() => _InteractiveFunnelChartState();
}

class _InteractiveFunnelChartState extends State<InteractiveFunnelChart> {
  late TooltipBehavior _tooltipBehavior;
  late SelectionBehavior _selectionBehavior;

  
  void initState() {
    _tooltipBehavior = TooltipBehavior(
      enable: true,
      format: 'point.x: point.y leads',
      color: Colors.black87,
      textStyle: TextStyle(color: Colors.white)
    );
    
    _selectionBehavior = SelectionBehavior(
      enable: true,
      selectedColor: Colors.deepOrange,
      unselectedColor: Colors.grey[300]
    );
    
    super.initState();
  }

  
  Widget build(BuildContext context) {
    final List<ChartData> chartData = [
      ChartData('Visitors', 5000),
      ChartData('Sign-ups', 3500),
      ChartData('Active Users', 2000),
      ChartData('Premium Users', 800),
      ChartData('Renewals', 500)
    ];
    
    return Scaffold(
      appBar: AppBar(title: Text('Subscription Funnel')),
      body: Center(
        child: SfFunnelChart(
          title: ChartTitle(text: 'User Conversion Funnel'),
          legend: Legend(isVisible: true),
          tooltipBehavior: _tooltipBehavior,
          series: FunnelSeries<ChartData, String>(
            dataSource: chartData,
            xValueMapper: (ChartData data, _) => data.stage,
            yValueMapper: (ChartData data, _) => data.count,
            selectionBehavior: _selectionBehavior,
            dataLabelSettings: DataLabelSettings(
              isVisible: true,
              labelPosition: ChartDataLabelPosition.outside
            )
          )
        )
      )
    );
  }
}

class ChartData {
  ChartData(this.stage, this.count);
  final String stage;
  final double count;
}

Common Patterns

常见模式

📄 Read: references/common-patterns.md for detailed implementation patterns
📄 阅读 references/common-patterns.md 查看详细的实现模式

Quick Pattern Overview

模式快速概览

  1. Sales Pipeline Funnel - Basic funnel for sales stages with clear progression
  2. Marketing Conversion with Colors - Color-coded stages with visual hierarchy
  3. Exploded Segment Emphasis - Highlight critical stages with exploded segments
  4. Custom Neck Sizing - Adjust neck dimensions for different visual effects
  5. Dynamic Updates - Real-time data updates using FunnelSeriesController
Each pattern includes complete code examples, when to use them, and best practices. See the common patterns reference for full implementations.
  1. 销售管道漏斗 - 适用于销售阶段展示的基础漏斗,流程清晰
  2. 带颜色标识的营销转化漏斗 - 按阶段分色,视觉层级清晰
  3. 分段炸开突出效果 - 通过炸开分段突出关键阶段
  4. 自定义颈部尺寸 - 调整颈部尺寸实现不同的视觉效果
  5. 动态更新 - 通过FunnelSeriesController实现实时数据更新
每个模式都包含完整的代码示例、适用场景和最佳实践。查看常见模式参考获取完整实现代码。

Key Properties

核心属性

SfFunnelChart Essential Properties

SfFunnelChart核心属性

  • series
    - FunnelSeries configuration with data source
  • title
    - Chart title (ChartTitle)
  • legend
    - Legend configuration (Legend)
  • tooltipBehavior
    - Tooltip settings (TooltipBehavior)
  • palette
    - Color palette for series
  • backgroundColor
    - Chart background color
  • backgroundImage
    - Background image
  • borderColor
    - Chart border color
  • borderWidth
    - Chart border width
  • margin
    - Chart margin (EdgeInsets)
  • enableMultiSelection
    - Enable multiple segment selection
  • onSelectionChanged
    - Selection change callback
  • onLegendItemRender
    - Legend item render callback
  • onTooltipRender
    - Tooltip render callback
  • onDataLabelRender
    - Data label render callback
  • onLegendTapped
    - Legend tap callback
  • onDataLabelTapped
    - Data label tap callback
  • onChartTouchInteractionUp/Down/Move
    - Touch interaction callbacks
  • series
    - 漏斗系列配置,包含数据源
  • title
    - 图表标题(ChartTitle类型)
  • legend
    - 图例配置(Legend类型)
  • tooltipBehavior
    - 工具提示设置(TooltipBehavior类型)
  • palette
    - 系列配色盘
  • backgroundColor
    - 图表背景色
  • backgroundImage
    - 背景图片
  • borderColor
    - 图表边框颜色
  • borderWidth
    - 图表边框宽度
  • margin
    - 图表边距(EdgeInsets类型)
  • enableMultiSelection
    - 启用多分段选择
  • onSelectionChanged
    - 选择变更回调
  • onLegendItemRender
    - 图例项渲染回调
  • onTooltipRender
    - 工具提示渲染回调
  • onDataLabelRender
    - 数据标签渲染回调
  • onLegendTapped
    - 图例点击回调
  • onDataLabelTapped
    - 数据标签点击回调
  • onChartTouchInteractionUp/Down/Move
    - 触摸交互回调

FunnelSeries Essential Properties

FunnelSeries核心属性

  • dataSource
    - Data source list
  • xValueMapper
    - Maps x-axis values from data
  • yValueMapper
    - Maps y-axis values from data
  • pointColorMapper
    - Maps colors from data
  • name
    - Series name for legend
  • height
    - Funnel height as percentage (e.g., '80%')
  • width
    - Funnel width as percentage (e.g., '80%')
  • neckHeight
    - Neck height as percentage (e.g., '20%')
  • neckWidth
    - Neck width as percentage (e.g., '15%')
  • gapRatio
    - Gap between segments (0 to 1)
  • explode
    - Enable exploding segments
  • explodeIndex
    - Index of segment to explode
  • explodeOffset
    - Explode distance as percentage
  • opacity
    - Series opacity (0 to 1)
  • borderWidth
    - Segment border width
  • borderColor
    - Segment border color
  • dataLabelSettings
    - Data label configuration
  • selectionBehavior
    - Selection behavior settings
  • enableTooltip
    - Enable tooltip for series
  • animationDuration
    - Animation duration in milliseconds
  • animationDelay
    - Animation delay in milliseconds
  • emptyPointSettings
    - Empty point handling
  • initialSelectedDataIndexes
    - Initial selection indices
  • onPointTap
    - Point tap callback
  • onPointDoubleTap
    - Point double tap callback
  • onPointLongPress
    - Point long press callback
  • onRendererCreated
    - Renderer created callback
  • dataSource
    - 数据源列表
  • xValueMapper
    - 从数据中映射x轴值
  • yValueMapper
    - 从数据中映射y轴值
  • pointColorMapper
    - 从数据中映射颜色
  • name
    - 系列名称,用于图例展示
  • height
    - 漏斗高度百分比(例如'80%')
  • width
    - 漏斗宽度百分比(例如'80%')
  • neckHeight
    - 颈部高度百分比(例如'20%')
  • neckWidth
    - 颈部宽度百分比(例如'15%')
  • gapRatio
    - 分段间隙(取值0到1)
  • explode
    - 启用分段炸开
  • explodeIndex
    - 要炸开的分段索引
  • explodeOffset
    - 炸开距离百分比
  • opacity
    - 系列透明度(取值0到1)
  • borderWidth
    - 分段边框宽度
  • borderColor
    - 分段边框颜色
  • dataLabelSettings
    - 数据标签配置
  • selectionBehavior
    - 选择行为设置
  • enableTooltip
    - 启用系列工具提示
  • animationDuration
    - 动画时长(毫秒)
  • animationDelay
    - 动画延迟(毫秒)
  • emptyPointSettings
    - 空值处理配置
  • initialSelectedDataIndexes
    - 初始选中的索引
  • onPointTap
    - 数据点点击回调
  • onPointDoubleTap
    - 数据点双击回调
  • onPointLongPress
    - 数据点长按回调
  • onRendererCreated
    - 渲染器创建回调

DataLabelSettings Properties

DataLabelSettings属性

  • isVisible
    - Show/hide data labels
  • labelPosition
    - Position (inside/outside)
  • labelAlignment
    - Alignment (outer, auto, top, bottom, middle)
  • textStyle
    - Text styling
  • color
    - Label background color
  • borderColor
    - Label border color
  • borderWidth
    - Label border width
  • borderRadius
    - Label corner radius
  • margin
    - Label margin
  • opacity
    - Label opacity
  • angle
    - Label rotation angle
  • useSeriesColor
    - Use series color for label background
  • showZeroValue
    - Show labels for zero values
  • overflowMode
    - Overflow handling (none, trim, hide, shift)
  • isVisible
    - 显示/隐藏数据标签
  • labelPosition
    - 标签位置(内部/外部)
  • labelAlignment
    - 标签对齐(外部、自动、顶部、底部、居中)
  • textStyle
    - 文本样式
  • color
    - 标签背景色
  • borderColor
    - 标签边框颜色
  • borderWidth
    - 标签边框宽度
  • borderRadius
    - 标签圆角
  • margin
    - 标签边距
  • opacity
    - 标签透明度
  • angle
    - 标签旋转角度
  • useSeriesColor
    - 标签背景使用系列颜色
  • showZeroValue
    - 显示零值标签
  • overflowMode
    - 溢出处理(无、裁剪、隐藏、偏移)

Legend Properties

Legend属性

  • isVisible
    - Show/hide legend
  • position
    - Position (auto, top, bottom, left, right)
  • orientation
    - Orientation (auto, horizontal, vertical)
  • title
    - Legend title (LegendTitle)
  • overflowMode
    - Overflow mode (scroll, wrap)
  • toggleSeriesVisibility
    - Enable toggling series visibility
  • backgroundColor
    - Legend background color
  • borderColor
    - Legend border color
  • borderWidth
    - Legend border width
  • opacity
    - Legend opacity
  • padding
    - Legend padding
  • iconHeight
    - Legend icon height
  • iconWidth
    - Legend icon width
  • offset
    - Floating legend offset
  • isVisible
    - 显示/隐藏图例
  • position
    - 图例位置(自动、顶部、底部、左侧、右侧)
  • orientation
    - 图例方向(自动、水平、垂直)
  • title
    - 图例标题(LegendTitle类型)
  • overflowMode
    - 溢出模式(滚动、换行)
  • toggleSeriesVisibility
    - 启用点击图例切换系列显示状态
  • backgroundColor
    - 图例背景色
  • borderColor
    - 图例边框颜色
  • borderWidth
    - 图例边框宽度
  • opacity
    - 图例透明度
  • padding
    - 图例内边距
  • iconHeight
    - 图例图标高度
  • iconWidth
    - 图例图标宽度
  • offset
    - 浮动图例偏移量

TooltipBehavior Properties

TooltipBehavior属性

  • enable
    - Enable tooltip
  • color
    - Tooltip background color
  • borderColor
    - Tooltip border color
  • borderWidth
    - Tooltip border width
  • opacity
    - Tooltip opacity
  • duration
    - Display duration in milliseconds
  • animationDuration
    - Animation duration
  • elevation
    - Tooltip elevation/shadow
  • format
    - Tooltip text format
  • header
    - Tooltip header text
  • tooltipPosition
    - Position (auto, pointer)
  • activationMode
    - Activation mode (tap, doubleTap, longPress, none)
  • builder
    - Custom tooltip builder
  • enable
    - 启用工具提示
  • color
    - 工具提示背景色
  • borderColor
    - 工具提示边框颜色
  • borderWidth
    - 工具提示边框宽度
  • opacity
    - 工具提示透明度
  • duration
    - 显示时长(毫秒)
  • animationDuration
    - 动画时长
  • elevation
    - 工具提示阴影
  • format
    - 工具提示文本格式
  • header
    - 工具提示头部文本
  • tooltipPosition
    - 提示位置(自动、跟随指针)
  • activationMode
    - 触发模式(点击、双击、长按、禁用)
  • builder
    - 自定义工具提示构造器

SelectionBehavior Properties

SelectionBehavior属性

  • enable
    - Enable selection
  • selectedColor
    - Selected segment color
  • unselectedColor
    - Unselected segment color
  • selectedBorderColor
    - Selected segment border color
  • selectedBorderWidth
    - Selected segment border width
  • unselectedBorderColor
    - Unselected segment border color
  • unselectedBorderWidth
    - Unselected segment border width
  • selectedOpacity
    - Selected segment opacity
  • unselectedOpacity
    - Unselected segment opacity
  • toggleSelection
    - Enable toggle selection
  • enable
    - 启用选择功能
  • selectedColor
    - 选中分段颜色
  • unselectedColor
    - 未选中分段颜色
  • selectedBorderColor
    - 选中分段边框颜色
  • selectedBorderWidth
    - 选中分段边框宽度
  • unselectedBorderColor
    - 未选中分段边框颜色
  • unselectedBorderWidth
    - 未选中分段边框宽度
  • selectedOpacity
    - 选中分段透明度
  • unselectedOpacity
    - 未选中分段透明度
  • toggleSelection
    - 启用切换选择

Common Use Cases

常见使用场景

  1. Sales Pipeline - Track deals through sales stages (leads → closed won)
  2. Marketing Funnel - Visualize customer journey (awareness → purchase)
  3. Conversion Analysis - Show user conversion rates across process stages
  4. Recruitment Process - Display candidate progression through hiring stages
  5. E-commerce Funnel - Track shopping cart abandonment and checkout flow
  6. Lead Management - Monitor lead qualification and conversion process
  7. Subscription Funnel - Analyze user onboarding and subscription flow
  8. Web Analytics - Display visitor engagement and conversion metrics
  9. Process Efficiency - Visualize workflow bottlenecks and drop-off points
  10. Customer Journey - Map customer touchpoints from awareness to loyalty
  1. 销售管道 - 追踪交易在销售阶段的推进情况(线索 → 成交)
  2. 营销漏斗 - 可视化客户旅程(认知 → 购买)
  3. 转化分析 - 展示流程各阶段的用户转化率
  4. 招聘流程 - 展示候选人在招聘各阶段的推进情况
  5. 电商漏斗 - 追踪购物车遗弃和结算流程转化
  6. 线索管理 - 监控线索资格审核和转化流程
  7. 订阅漏斗 - 分析用户注册和订阅流程转化
  8. 网站分析 - 展示访客参与度和转化指标
  9. 流程效率 - 可视化工作流瓶颈和流失点
  10. 客户旅程 - 梳理客户从认知到忠诚的全链路接触点