{{ message }}

# agatheblues / squarify Public

Processing squarify treemap layout algorithm

Switch branches/tags
Nothing to show

## Files

Failed to load latest commit information.
Type
Name
Commit time

# Squarify

Squarify is a Processing library that implements the squarify treemap layout algorithm. It divides an area into rectangles whose areas is sized based on a set of values, the rectangles being optimized to be as squary as possible.

This library is a translation in Java of an original Python algorithm made by Laserson. Based on algorithm from Bruls, Huizing, van Wijk, "Squarified Treemaps", but implements it differently.

## Installation

### Contributions Manager

Open up the Contributions Manager in the Processing IDE. Search for `Squarify` and install the library.

### Manual Install

Go to the releases page of this repo and download the .zip file from there. Unzip it and move it into the libraries folder of your Processing sketches.

## Usage

You can find a fully working example called `UsingSquarify.pde` in this repository.

``````Squarify s = new Squarify(values, CANVAS_ORIGIN_X, CANVAS_ORIGIN_Y, CANVAS_WIDTH, CANVAS_HEIGHT);
ArrayList<SquarifiedRect> rects = s.getRects();
``````

Instantiating a Squarify object with values and canvas geometry will give you access to a list of `SquarifiedRect` objects. These objects contain each rectangle geomtry data:

• `x` is the top left x coordinate
• `y` is the top left y coordinate
• `dx` is the rectangle width
• `dy` is the rectangle height

As a result, to draw a rectangle on your processing sketch, you can do:

``````SquarifiedRect r = rects.get(0);	// Draws first rect in the list
rect(r.getX(), r.getY(), r.getDx(), r.getDy());
``````

## UsingSquarify example output Processing squarify treemap layout algorithm

## Releases 1

Squarify 1.0.0 Latest
May 24, 2019

## Packages 0

No packages published

•
•
•
•