A composable, SwiftUI-native chart library for iOS 13+ with immutable configuration and modifier-based APIs.
SwiftUICharts is a charting library built entirely with SwiftUI for iOS 13+. It provides a declarative, composable API for creating interactive line, bar, and pie charts with features like streaming data, performance optimization, and customizable styling. It solves the need for a native, modern charting solution that aligns with SwiftUI's design principles.
iOS developers building SwiftUI applications who need to integrate interactive data visualizations and charts without relying on third-party UIKit-based libraries.
Developers choose SwiftUICharts for its pure SwiftUI-native implementation, offering seamless integration, a declarative modifier-based API, and features like immutable configuration and built-in performance modes that are tailored for modern iOS development.
ChartView made in SwiftUI
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built entirely with SwiftUI, it leverages declarative syntax and state management for seamless integration, as shown in the quick start example using standard SwiftUI views.
Uses ViewModifier composition for building charts, promoting reusability and predictability, evidenced by modifier-based APIs like .chartData() and .chartStyle().
Supports shared interaction states and callback-based selection handlers, allowing for dynamic user interactions, as demonstrated in the shared interaction and callback-based interaction recipes.
Includes streaming data sources and performance modes optimized for large datasets, enabling real-time updates and efficient rendering, detailed in the streaming and performance mode sections.
Offers extensive customization for axes, grids, and chart styles through dedicated modifiers, such as .chartGridLines() and .chartStyle(), allowing fine-tuned visual control.
Version 2.0.0 introduced significant API changes, requiring migration from 1.x and potentially disrupting existing projects, as highlighted in the migration guide and avoidance of legacy APIs.
Only provides line, bar, and pie charts, lacking support for more advanced visualizations like area charts or scatter plots, which might be necessary for complex data analysis.
Exclusively tied to SwiftUI and iOS 13+, making it unsuitable for UIKit-based projects or applications targeting older iOS versions or non-Apple platforms.
The composable nature can lead to verbose code when customizing charts, as seen in examples where multiple modifiers are chained, potentially increasing complexity for simple use cases.