SkillAgentSearch skills...

Piling.js

A general framework and library for exploring thousands of small multiples

Install / Use

/learn @flekschas/Piling.js
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<h1 align="center"> Piling.js </h1> <div align="center">

A general framework and library for visual piling/stacking.

</div> <br/> <div align="center">

Docs NPM Version Build Status File Size Code Style Prettier Demos

</div> <div id="teaser-matrices" align="center">

Preview

</div>

Piling.js currently supports visual piling of images, matrices, and SVG out of the box, but can easily be customized with your own render.

Get Started

Install

npm install piling.js pixi.js

PixiJS is the underlying WebGL rendering engine. It's not pre-bundled in case your application needs to use PixiJS elsewhere.

Optionally, if you want to lay out piles by more than two attributes you have to install UMAP as follows.

npm install umap-js

Quick Start

Let's pile some natural images

import createPilingJs, { createImageRenderer } from 'piling.js';

// define your items
const items = [{ src: 'http://example.com/my-fancy-photo.png' }, ...];

// instantiate a matching the data type of your items
const itemRenderer = createImageRenderer();

const piling = createPilingJs(
  document.getElementById('demo'), // dom element in which piling.js will be rendered
  {
    // Mandatory: add the items and corresponding renderer
    items,
    itemRenderer,
    // Optional: configure the view specification
    columns: 4
  }
);

Et voilà 🎉

teaser-natural-images

Examples & Templates

Piling.js with a Visualization Library

Piling.js with an Application Framework

Development

Install

git clone https://github.com/flekschas/piling.js
cd piling.js
npm install

Start the Development Server

npm start

Cite Piling.js

@article{lekschas2021generic,
  author = {Fritz Lekschas and Xinyi Zhou and Wei Chen and Nils Gehlenborg and Benjamin Bach and Hanspeter Pfister},
  title = {A Generic Framework and Library for Exploration of Small Multiples through Interactive Piling},
  publisher = {IEEE},
  journal = {IEEE Transactions on Visualization and Computer Graphics},
  series = {InfoVis ’20},
  year = {2021},
  month = {2},
  day = {1},
  volume = {27},
  number = {2},
  pages = {358-368},
  doi = {10.1109/TVCG.2020.3028948},
}
View on GitHub
GitHub Stars257
CategoryDevelopment
Updated5d ago
Forks14

Languages

JavaScript

Security Score

100/100

Audited on Apr 1, 2026

No findings