fusion_charts_flutter 1.0.1 copy "fusion_charts_flutter: ^1.0.1" to clipboard
fusion_charts_flutter: ^1.0.1 copied to clipboard

Professional Flutter charting library with line, bar, pie/donut charts, smooth animations, tooltips, zoom/pan, and high performance.

Changelog #

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

1.0.0 - 2026-01-01 #

Added #

Chart Types

  • FusionLineChart — Line chart with straight or smooth curved lines (Bezier/Catmull-Rom splines)
  • FusionBarChart — Bar chart for categorical data comparison
  • FusionStackedBarChart — Stacked bar chart for cumulative data visualization
  • FusionPieChart — Pie and Donut charts with smart labels, selection, and center content

Series Features

  • FusionLineSeries — Line series with configurable width, curves, dash patterns
  • FusionBarSeries — Bar series with customizable bar width, spacing, and border radius
  • FusionStackedBarSeries — Stacked bar series for cumulative visualization
  • FusionPieSeries — Pie series with customizable colors, strokes, and corner radius
  • FusionAreaSeries — Area fill support with gradient backgrounds
  • Series visibility toggling
  • Gradient support (linear gradients)
  • Shadow/glow effects
  • Data labels with custom formatters
  • Marker shapes (circle, square, triangle, diamond, pentagon, hexagon)

Theming System

  • FusionChartTheme — Abstract theme interface
  • FusionLightTheme — Professional light color scheme (default)
  • FusionDarkTheme — Dark mode theme
  • Full customization: colors, typography, dimensions, animations, shadows
  • WCAG 2.1 AA compliant contrast ratios

Configuration

  • FusionChartConfiguration — Central configuration with builder pattern
  • FusionAxisConfiguration — Axis customization (min, max, intervals, labels)
  • FusionTooltipConfiguration — Tooltip behavior and styling
  • FusionCrosshairConfiguration — Crosshair appearance and dismiss strategies
  • FusionZoomConfiguration — Zoom limits and behavior
  • FusionLegendConfiguration — Legend positioning and styling

Interactions

  • Touch/tap detection with nearest point finding
  • Long-press for crosshair activation
  • Hover support (desktop)
  • Pinch-to-zoom
  • Pan/drag navigation
  • Trackball modes: none, follow, snap, magnetic
  • Haptic feedback integration
  • Configurable dismiss strategies (onRelease, afterDuration, never)

Axis System

  • Numeric axis with auto-scaling
  • DateTime axis with intelligent interval selection
  • Category axis support
  • Custom label formatters
  • Axis bounds calculation with nice numbers algorithm
  • Multiple range padding strategies

Performance Optimizations

  • FusionPaintPool — Object pooling for Paint instances (90% GC reduction)
  • FusionShaderCache — Gradient shader caching
  • FusionRenderCache — General render cache
  • FusionRenderOptimizer — Dirty region tracking and path caching
  • LTTBDownsampler — Largest Triangle Three Buckets algorithm for 10K+ points
  • Coordinate system caching with hash-based invalidation
  • Pixel snapping for crisp rendering on high-DPI displays

Data Handling

  • FusionDataPoint — Immutable data point with x, y, label, metadata
  • DataValidator — Validates and cleans data (NaN, Infinity, duplicates)
  • Data statistics calculation (min, max, mean, range)
  • Range clamping support
  • Automatic sorting by X coordinate

Rendering Engine

  • FusionCoordinateSystem — Immutable coordinate transforms with pixel snapping
  • FusionPathBuilder — Smooth path generation (Bezier, Catmull-Rom, Douglas-Peucker)
  • FusionChartPainterBase — Template method pattern for painters
  • Dashed line support with custom patterns
  • Area fill with baseline

Utilities

  • FusionColorPalette — 6 color palettes (Material, Professional, Vibrant, Pastel, Warm, Cool)
  • FusionDataFormatter — Number and date formatting utilities
  • FusionMathematics — Spline calculations, interpolation
  • FusionResponsiveSize — Responsive sizing helpers

Documentation

  • Comprehensive dartdoc comments
  • Example application with 20+ demos
  • README with quick start guide

Notes #

  • Minimum Flutter SDK: 3.22.0
  • Minimum Dart SDK: 3.9.0
  • Dependencies: intl for formatting

1.0.1 - 2026-01-13 #

Added #

Programmatic Control API

  • FusionChartController — Full programmatic control over zoom and pan operations
    • zoomIn(), zoomOut(), zoomToFit(), resetZoom() methods
    • panTo(), panBy() for programmatic panning
    • setZoomLevel() with animation support
    • Event streams for zoom/pan state changes
    • Attach/detach to any interactive chart

New Widgets

  • FusionZoomControls — Ready-to-use zoom control widget with customizable buttons
  • FusionScrollInterceptWrapper — Desktop scroll wheel zoom support with proper event handling

New Utilities

  • FusionDesktopHelper — Platform detection utilities for desktop-specific behaviors
  • FusionZoomAnimationMixin — Smooth animated zoom transitions with configurable curves
  • FusionSelectionRectLayer — Box selection rendering for zoom-to-region functionality

Axis Configuration

  • labelGenerator callback in FusionAxisConfiguration for complete control over axis label positioning
    • Receives axis bounds, available size, and orientation
    • Returns list of values where labels should appear
    • Supports use cases like:
      • Edge-inclusive labels (always show min/max)
      • Percentage-based labels (0%, 25%, 50%, 75%, 100%)
      • Powers of 10 (log-scale style)
      • Fibonacci sequence positioning
      • Custom business thresholds
      • DateTime patterns (first of month, every Monday)
      • Density-based responsive labels

Examples

  • New zoom_pan_showcase.dart — Comprehensive example with 27 zoom/pan demonstrations

Changed #

  • enableCrosshair default changed from true to false for cleaner out-of-box experience
    • Charts now render without crosshair by default
    • Explicitly set enableCrosshair: true to enable

Fixed #

  • Fixed zoom and pan gestures being interrupted mid-interaction due to gesture recognizer recreation
  • Fixed gesture recognizer caching not being populated in FusionInteractiveChartState
  • Added gesture recognizer caching to FusionBarInteractiveState and FusionStackedBarInteractiveState
  • Fixed unnecessary widget rebuilds during pan/zoom start that killed in-progress gestures
  • Fixed FusionInteractionHandler being recreated during active gestures, which reset _lastScale and broke incremental pinch-zoom calculations
  • Fixed zoom state being reset on widget rebuild — coordinate system updates during active gestures now preserve zoomed data bounds while only updating screen dimensions
  • Fixed timer cleanup in multi-touch interaction tests

Deprecated #

The following fields are ignored and will be removed in v2.0.0. Use the top-level configuration flags instead:

  • FusionZoomConfiguration.enabled → Use FusionChartConfiguration.enableZoom
  • FusionPanConfiguration.enabled → Use FusionChartConfiguration.enablePanning
  • FusionTooltipBehavior.enable → Use FusionChartConfiguration.enableTooltip
  • FusionCrosshairConfiguration.enabled → Use FusionChartConfiguration.enableCrosshair

[Unreleased] #

Planned #

  • Scatter charts
  • Bubble charts
  • Candlestick/OHLC charts
  • Radar/Spider charts
  • Gauge charts
  • Funnel charts
  • Multiple Y-axes
  • Annotations and plot bands
  • Real-time streaming data API
  • Export to image (PNG, SVG)
  • Accessibility improvements (Semantics)

Version History #

Version Date Description
1.0.1 2026-01-13 Programmatic control API, labelGenerator, zoom/pan fixes, deprecations
1.0.0 2026-01-01 Initial release
2
likes
150
points
176
downloads
screenshot

Publisher

unverified uploader

Weekly Downloads

Professional Flutter charting library with line, bar, pie/donut charts, smooth animations, tooltips, zoom/pan, and high performance.

Repository (GitHub)
View/report issues
Contributing

Topics

#chart #visualization #graphs #widget #ui

Documentation

API reference

License

MIT (license)

Dependencies

flutter, intl

More

Packages that depend on fusion_charts_flutter