High-performance Swift treemap layout engine for iOS and macOS using the squarified algorithm.
YMTreeMap is a high-performance treemap layout engine for iOS and macOS, written in Swift. It transforms a list of numerical values into a set of layout rectangles where each rectangle's size represents the relative weight of its corresponding value. The library uses the squarified treemap algorithm to generate rectangles with low aspect ratios, making them visually appealing and efficient for rendering.
iOS and macOS developers who need to integrate treemap visualizations into their applications, particularly those working with data-heavy interfaces like financial dashboards, analytics tools, or hierarchical data displays.
Developers choose YMTreeMap for its exceptional performance, handling up to 1,000 items in milliseconds, and its flexibility—output rectangles work with CoreGraphics, OpenGL, or custom UICollectionView layouts. Its focused design avoids unnecessary bloat while providing a robust, algorithmically sound layout engine.
High performance Swift treemap layout engine for iOS and macOS.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Benchmarks demonstrate rendering 1,000 items in under 4ms on an iPhone 7 Plus, enabling smooth performance in scrolling table views and real-time applications.
Implements the squarified treemap algorithm to generate rectangles with low aspect ratios, making treemaps as square as possible for better visual appeal and readability.
Outputs raw CGRect rectangles, allowing developers to use CoreGraphics, OpenGL, or custom UICollectionView layouts without being locked into a specific rendering pipeline.
Preserves the input order of values, so when data is sorted before passing it in, the treemap maintains that order for meaningful visual hierarchies.
Only provides layout rectangles with no built-in rendering, styling, or interactivity, requiring significant additional code to create a complete, user-friendly visualization.
Accepts a flat list of numerical values and does not natively support hierarchical data structures, which limits its use for complex nested treemaps without manual preprocessing.
Exclusively designed for iOS and macOS with Swift/Objective-C, making it unsuitable for projects targeting other platforms or requiring cross-platform compatibility.