A visualization package for Elm (D3-like)
Clone or download
folkertdev and gampleman Optimize QuadTree Insertion (#36)
Based on a tip by Robin Heggelund Hansen (of HAMT fame), this commit
inlines record updates. This gives slightly larger assets, but is worth
it in inner loops: There is roughly a 6X speed increase in the record
update alone, roughly 50% increase as a whole for insertBy.
Latest commit e2c0cf6 Oct 29, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Fix custom pie chart example Oct 9, 2018
examples Fix custom pie chart example Oct 9, 2018
src Optimize QuadTree Insertion (#36) Oct 29, 2018
tests Version 2.0 Oct 5, 2018
.gitignore Updates dependencies (#26) Jan 31, 2018
LICENSE Create LICENSE Nov 27, 2017
elm.json Bump to 2.0 Oct 5, 2018
readme.md Version 2.0 Oct 5, 2018



Docs | Examples | GitHub | Changelog | #visualization on Elm slack

This project is designed to give you all the tools needed to build data visualizations. It is not a charting library in the sense that you have pre-bundled Excel-style charts, but it should contain all the tools to make building such charts relatively easy. The advantage is that you are free to design and build data visualizations that uniquely suite your needs.

Learn by example


What's included?


Most of the time you have data that has properties that you want to display on the screen, however these properties typically aren't in pixels. Scales solve this fundamental problem by giving you convenient ways to transform raw data into positions, sizes, colors, labels and other ways to display data.


A component that allows you to visualize a Scale. Those little ticks that describe the dimensions of a plot.


This module gives you ways to draw some fundamental shapes used in data visualization, including lines (as in line or area charts), as well as arcs (as in pie charts).

Force Layout

Use a simulation of physical forces to do layout. Suitable for i.e. network graphs.


Compute histograms of data.


Process data to extract useful insights for visualizations.


Heavily inspired by parts of the D3 library by Mike Bostock. However since Elm provides a great DOM abstraction already, selections are not part of this library.


This library is still under active development, so please submit feature requests iff you are also willing to implement them. Bug reports are welcome.