mcpField
S
syncfusion-flutter-cartesian-charts

syncfusion-flutter-cartesian-charts

github.com/syncfusion设计与 UI256 次安装17 周前更新
代码仓库

关于 syncfusion-flutter-cartesian-charts

介绍如何在 Flutter 中使用 Syncfusion 的 SfCartesianChart 构建笛卡尔图表,涵盖图表类型、坐标轴、交互、样式、指标和导出,适合开发数据可视化的人员。

主要功能

  1. 0130 多种笛卡尔图表类型
  2. 02五种可配置坐标轴
  3. 03缩放、平移、提示框与选择
  4. 04技术指标和趋势线
  5. 05图表导出与无障碍选项

适用场景

  1. 01可视化实时或历史数据序列
  2. 02构建带技术指标的金融图表
  3. 03添加交互式缩放和数据提示

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/syncfusion/flutter-ui-components-skills --skill syncfusion-flutter-cartesian-charts

安装后在 Claude Code 中输入/syncfusion-flutter-cartesian-charts确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
annotations-markers-datalabels.md
axis-customization.md
axis-types.md
callbacks-methods-export.md
chart-appearance.md
chart-types-column-bar.md
chart-types-financial.md
chart-types-line-area.md
chart-types-stacked.md
getting-started.md
legend.md
series-customization.md
technical-indicators-trendlines.md
tooltip-trackball.md
zoom-pan-selection.md

详细介绍

实现 Syncfusion Flutter 笛卡尔图表

SfCartesianChart 是 syncfusion_flutter_charts 软件包中的高性能 Flutter 组件,支持在笛卡尔(X/Y)坐标上绘制 30 多种图表类型。它可处理实时数据,提供丰富的交互功能和深度自定义选项。

何时使用此技能

在以下情况下使用此技能:

  • 在 Flutter 中渲染任意折线图、面积图、柱状图、条形图、样条图、散点图或金融图表
  • 配置坐标轴类型(数值、类别、日期时间、对数)
  • 添加缩放、平移、工具提示、跟踪球或十字准线交互
  • 自定义系列外观(颜色、渐变、标记、数据标签)
  • 添加注释、技术指标或趋势线
  • 导出图表或响应图表回调
  • 支持 RTL、本地化或无障碍功能

组件概览

SfCartesianChart 组件是一套完整的图表解决方案,可使用笛卡尔(X/Y)坐标显示数据。它支持多个类别中的 30 多种图表类型:

  • 折线图:折线图、快速折线图、样条图(多种张力类型)、阶梯折线图
  • 面积图:面积图、样条面积图、阶梯面积图、范围面积图、样条范围面积图、堆积面积图(包括 100% 堆积)
  • 柱状图/条形图:柱状图、条形图、范围柱状图、堆积柱状图/条形图(包括 100% 堆积)
  • 散点图/气泡图:散点图、气泡图
  • 金融图表:蜡烛图、OHLC、HiLo、HiLoOpenClose,并支持技术指标
  • 统计图表:直方图、箱线图、误差棒图
  • 瀑布图:用于可视化累积效果

该组件提供五种坐标轴类型(Numeric、Category、DateTime、DateTimeCategory、Logarithmic)、交互功能(缩放、平移、工具提示、跟踪球、十字准线)、选择行为、丰富的自定义选项(标记、数据标签、渐变、动画)、技术指标(SMA、EMA、MACD、RSI、布林带等)、趋势线、注释和图表导出功能。


快速开始

# Always installs the latest compatible version automatically
flutter pub add syncfusion_flutter_charts

始终通过终端安装软件包——不要直接编辑 pubspec.yaml。 在 Flutter 项目根目录运行此命令,并等待其成功完成后再继续。

import 'package:syncfusion_flutter_charts/charts.dart';

class MyChart extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return SizedBox(
      height: 300,
      child: SfCartesianChart(
        primaryXAxis: CategoryAxis(),
        title: ChartTitle(text: 'Monthly Sales'),
        legend: Legend(isVisible: true),
        tooltipBehavior: TooltipBehavior(enable: true),
        series: <CartesianSeries>[
          LineSeries<ChartData, String>(
            dataSource: [
              ChartData('Jan', 35),
              ChartData('Feb', 28),
              ChartData('Mar', 34),
              ChartData('Apr', 32),
              ChartData('May', 40),
            ],
            xValueMapper: (ChartData d, _) => d.x,
            yValueMapper: (ChartData d, _) => d.y,
            name: 'Sales',
            dataLabelSettings: DataLabelSettings(isVisible: true),
          ),
        ],
      ),
    );
  }
}

class ChartData {
  ChartData(this.x, this.y);
  final String x;
  final double? y;
}

导航指南

入门

📄 阅读: references/getting-started.md

  • 安装并导入软件包
  • 初始化 SfCartesianChart
  • 绑定数据源和数据模型
  • 添加标题、数据标签、图例和工具提示
  • 完整的最简可运行示例
折线图、面积图和样条图类型

📄 阅读: references/chart-types-line-area.md

  • 折线图、快速折线图、样条图(含样条类型)
  • 阶梯折线图、面积图、样条面积图
  • 阶梯面积图、范围面积图、样条范围面积图
  • 各类型的适用场景
柱状图、条形图及其他笛卡尔图表类型

📄 阅读: references/chart-types-column-bar.md

  • 柱状图、条形图、范围柱状图
  • 气泡图、散点图、直方图
  • 瀑布图、误差棒图、箱线图
  • 各类型的关键配置
堆积图表类型

📄 阅读: references/chart-types-stacked.md

  • 堆积面积图/条形图/柱状图/折线图
  • 100% 堆积图表变体
  • 何时选择堆积图表或 100% 堆积图表
金融图表类型

📄 阅读: references/chart-types-financial.md

  • 蜡烛图、HILO、OHLC 图表
  • 金融数据模型(open/high/low/close 映射器)
  • 空心蜡烛和实心蜡烛
坐标轴类型

📄 阅读: references/axis-types.md

  • NumericAxis、CategoryAxis、DateTimeAxis
  • DateTimeCategoryAxis、LogarithmicAxis
  • 为数据选择合适的坐标轴
坐标轴自定义

📄 阅读: references/axis-customization.md

  • 标题、标签、标签格式
  • 网格线、刻度线、范围(最小值/最大值/间隔)
  • 条带线、多级标签
  • 次坐标轴、坐标轴交叉、反向坐标轴
系列自定义

📄 阅读: references/series-customization.md

  • 颜色、边框、不透明度、渐变填充
  • 虚线数组、宽度、点颜色映射器
  • 动画、调色板颜色、空数据点设置
图例

📄 阅读: references/legend.md

  • 启用图例并设置位置
  • 通过图例切换系列可见性
  • 溢出模式(换行、滚动)
  • 自定义图例项和图标
工具提示、追踪球与十字准线

📄 阅读: references/tooltip-trackball.md

  • TooltipBehavior — 启用、格式化、自定义模板
  • 跨系列共享工具提示
  • TrackballBehavior — 显示模式
  • CrosshairBehavior 配置
缩放、平移与选择

📄 阅读: references/zoom-pan-selection.md

  • ZoomPanBehavior — 捏合、鼠标滚轮、方向性缩放
  • ZoomMode(x、y、xy)、平移
  • 实时数据自动滚动
  • SelectionBehavior — 点、系列、簇、框选
注释、标记与数据标签

📄 阅读: references/annotations-markers-datalabels.md

  • CartesianChartAnnotation — 文本和组件叠加层
  • 坐标单位(点、像素或百分比)
  • MarkerSettings — 形状、大小、颜色
  • DataLabelSettings — 位置、格式、模板、连接线
技术指标与趋势线

📄 阅读: references/technical-indicators-trendlines.md

  • SMA、EMA、TMA、WMA、MACD、RSI、Stochastic
  • 布林带、ATR、CCI、Momentum、AD、ROC
  • 趋势线类型(线性、指数、多项式、移动平均、幂函数、对数)
  • 预测周期
图表外观与多个图表

📄 阅读: references/chart-appearance.md

  • 背景颜色/图像、绘图区自定义
  • 调色板、主题集成
  • 在同一屏幕上渲染多个图表
  • 按需/延迟加载数据
回调、方法、导出与无障碍

📄 阅读: references/callbacks-methods-export.md

  • 关键回调(onTooltipRender、onDataLabelRender、onZooming 等)
  • ChartSeriesController 方法(updateDataSource、animate)
  • 导出为 PNG、PDF、JPEG
  • 本地化、RTL、无障碍

常见模式

模式 1 — 实时数据更新
late ChartSeriesController _controller;

onRendererCreated: (ChartSeriesController controller) {
  _controller = controller;
},

void addDataPoint(ChartData newPoint) {
  chartData.add(newPoint);
  _controller.updateDataSource(
    addedDataIndexes: [chartData.length - 1],
  );
}
模式 2 — 在一个图表上显示多个系列
series: <CartesianSeries>[
  LineSeries<ChartData, String>(
    dataSource: data,
    xValueMapper: (d, _) => d.x,
    yValueMapper: (d, _) => d.y1,
    name: 'Revenue',
  ),
  ColumnSeries<ChartData, String>(
    dataSource: data,
    xValueMapper: (d, _) => d.x,
    yValueMapper: (d, _) => d.y2,
    name: 'Cost',
  ),
]
模式 3 — 同时使用缩放和工具提示
late ZoomPanBehavior _zoom;
late TooltipBehavior _tooltip;

@override
void initState() {
  _zoom = ZoomPanBehavior(enablePinching: true, enableDoubleTapZooming: true);
  _tooltip = TooltipBehavior(enable: true);
  super.initState();
}

zoomPanBehavior: _zoom,
tooltipBehavior: _tooltip,

关键组件属性

属性类型用途
primaryXAxisChartAxis水平轴类型和配置
primaryYAxisChartAxis垂直轴类型和配置
seriesList<CartesianSeries>一个或多个数据系列
titleChartTitle图表标题文本
legendLegend图例可见性和位置
tooltipBehaviorTooltipBehavior点击时显示工具提示
zoomPanBehaviorZoomPanBehavior缩放和平移交互
selectionTypeSelectionType点/系列/簇选择
annotationsList<CartesianChartAnnotation>叠加组件/文本
indicatorsList<TechnicalIndicator>技术分析叠加层
onTooltipRenderChartTooltipCallback自定义工具提示文本
onZoomingChartZoomingCallback响应缩放事件
paletteList<Color>自定义系列颜色调色板

评论

支持 Markdown