radial_charts 0.2.1
radial_charts: ^0.2.1 copied to clipboard
Flutter widgets for radial rating charts and rounded donut charts with customizable legends, emoji support, and smooth animations.
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.
[Unreleased] #
0.2.1 - 2025-10-31 #
0.2.0 - 2025-10-31 #
Added #
- RoundedDonutChart - new chart type with smooth rounded segment edges
DonutSegmentDatamodel for donut chart segmentsDonutChartConfigfor chart configuration (size, radii, colors)- Support for emoji in segments
- Customizable legend styles (circle, rectangle, roundedRectangle)
- Value display inside legend indicators
- Custom text in chart center
- Unified Legend System - shared legend architecture for both chart types
UnifiedLegendwidget used by both RadialRatingChart and RoundedDonutChartLegendItem- universal legend item model- Emoji support in legends for both charts
- Consistent styles and behavior across charts
- RadialRatingChart enhancements:
showRatingInLegendparameter to display rating values in legendlegendRatingStyleparameter for value text styling- Automatic indicator size adjustment when values are enabled
- Emoji support in categories
- Example app completely redesigned:
- Two separate screens showcasing each chart type
- Interactive settings (ChartSettings) with live preview
- Editable segment/category cards
- Material Design 3 interface
- Modular structure (constants, models, screens, widgets)
Fixed #
- RadialRatingChart: fixed vertical line appearing with only one category
Changed #
- BREAKING: Both charts now use
UnifiedLegendinstead of separate implementations - BREAKING:
LegendStyleenum moved fromrounded_donut_chart/models/tocommon/models/ - Standardized spacing between charts and legends (spacing * 3)
- Simplified RadialRatingChart API (removed maxRating, minRating, sortCategoriesById from widget parameters)
- Example app: main.dart reduced from 395 lines to compact structure
Internal #
- Created
lib/src/common/folder for shared components - Added architecture foundation for future chart types
- Improved code modularity and reusability
Old [Unreleased] content (keeping for reference): #
- RoundedDonutChart: New donut chart widget with rounded segment edges
- Smooth Bezier curve transitions between segments for a polished look
- Two-pass rendering algorithm for seamless rounded edges
- Configurable center text with automatic total calculation
- Three legend styles:
circle,rectangle, androundedRectangle - Optional count badges displayed inside legend indicators
- Support for empty state and single-segment visualization
- Fully customizable colors, sizes, radii, and text styles
- New models for RoundedDonutChart:
DonutSegmentData: Flexible data model with id, value, color, label, and metadataDonutChartConfig: Configuration for donut appearance and behaviorLegendStyle: Enum for legend indicator styles
- New painters:
RoundedDonutPainter: Main painter for multiple segments with rounded edgesSingleItemDonutPainter: Optimized painter for single-segment charts
- Comprehensive documentation for RoundedDonutChart in README
- API reference documentation for all new components
Features #
- Rounded edge algorithm using cubic Bezier curves with 4x radius enhancement
- Automatic handling of edge cases (empty data, single segment, multiple segments)
- Flexible center text: static string or dynamic builder function
- Multi-column legend layout with configurable spacing
- Support for metadata in segment data for custom use cases
- Consistent API design matching existing RadialRatingChart pattern
0.1.3 - 2025-10-11 #
Fixed #
- Fix screenshot display in README on both pub.dev and GitHub
- Use absolute GitHub URLs for screenshots instead of relative paths
- Screenshots now properly display in package documentation
0.1.2 - 2025-10-11 #
Fixed #
- Fix screenshot display on pub.dev by removing spaces from filenames
- Screenshots now properly display in package gallery and as thumbnail
0.1.1 - 2025-10-11 #
Changed #
- Add screenshots gallery to pub.dev package page
- Screenshots are now displayed in a dedicated gallery on pub.dev
- First screenshot is used as package thumbnail
0.1.0 - 2025-10-11 #
Added #
- Initial release of Radial Charts package
RadialRatingChartwidget for displaying radial rating chartsChartCategorymodel for defining categoriesCategoryDatamodel for category ratingsChartConfigfor customizing chart appearanceRadialChartPaintercustom painter for rendering- Predefined category sets:
- Life Balance categories (11 categories)
- Skills Assessment categories (5 categories)
- Product Features categories (5 categories)
- Legend support with customizable layout
- Configurable grid levels, colors, opacity, and borders
- Support for variable radius segments based on ratings
- Sorting categories by ID for consistent positioning
- Zero external dependencies (pure Flutter)
- Comprehensive documentation and examples
- Example app with 4 different demo scenarios
Features #
- Variable radius segments representing rating values
- Highly customizable appearance (colors, grid, opacity, borders)
- Optional legend with multi-column layout
- Adaptive segment count (1 to N categories)
- Special handling for single-category display (full circle)
- Performance-optimized CustomPainter
- Full control over start angle and grid levels
- Support for emoji/icons in categories
Documentation #
- Complete README with usage examples
- API reference documentation
- Multiple use case examples
- Contributing guidelines
- MIT License
