• Stars
    star
    514
  • Rank 86,040 (Top 2 %)
  • Language
    Elm
  • License
    MIT License
  • Created about 8 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A data visualization library for Elm

Elm-visualization

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

Examples

Getting started

You will need to have elm installed. Then run:

elm init
elm install gampleman/elm-visualization

However, there are other packages that you will likely need to produce a visualization. Which depends somewhat on what you want to achieve, here are some common ones:

You can use this Ellie to run the examples, since it has all the dependencies already installed into it.

What's included?

Scales

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.

Axis

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

Shapes

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.

Interpolation

Smoothly transition between pairs of values. Useful for animation, or generating gradients of values.

Transition

Build complex animations using Interpolation.

Histogram

Compute histograms of data.

Brush

Interactively select subregions of a dataset.

Zoom

Build pan and zoom user interactions.

Statistics

Process data to extract useful insights for visualizations.

Acknowledgements

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.

Contributing

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

More Repositories

1

GMCodeEditor

An objective-C code editing component.
Objective-C
125
star
2

elm-mapbox

MapboxGL bindings for Elm
Elm
60
star
3

quick_check.js

A JS implementation of quick_check
CoffeeScript
46
star
4

elm-review-derive

Generate code for json encoders/decoders, codecs, fuzzers, generators, and more
Elm
26
star
5

elm-example-publisher

Make a beautiful website from your Elm examples
Elm
18
star
6

angular-keyboard

A user interface toolkit for adding declaratively keyboard navigation to your web apps
JavaScript
16
star
7

chartkit

Angular + Highcharts Integration
JavaScript
12
star
8

core-extra

Utility functions for an improved experience with elm/core
Elm
10
star
9

elm-geospatial

Geospatial analysis in elm
Elm
6
star
10

SE-Editor-Toolkit

Adds a few buttons on SE sites to make editing easier.
CoffeeScript
6
star
11

Khepera-Maze

Code to guide a Khepera robot through a maze.
Objective-C
5
star
12

icui

ICUI is a user interface component for buidling IceCube objects.
JavaScript
4
star
13

alfred-find-my-iphone

Alfred Workflow to Find your iPhone
Ruby
4
star
14

Laplace

A simple in-place editor
JavaScript
4
star
15

elm-examples-helper

A simple package that makes examples simpler yet nicer
Elm
3
star
16

Tableview

A DSL and output framework for defining views consisting of tables that can output to HTML, CSV, XLS or ascii.
Ruby
3
star
17

Robot-IAR

Robotics project for Intelligent Autonomous Robotics.
C
2
star
18

gampleman.github.com

My small site with some heavy interactivity,
Ruby
2
star
19

elm-webcomponents

Generate Elm modules from annotated Typescript web components
TypeScript
2
star
20

LESS3

LESS3 is an extension to LESS to allow you to start using CSS3 properties today with workarounds for legacy browsers.
Ruby
2
star
21

HCI-practical

Java
1
star
22

esbify

A small language for creating the input files for the ESB framework.
Ruby
1
star
23

equilibrium

A simple game about keeping balance in nature
Elm
1
star
24

Experiment

Experiment is a ruby library and environment for running scientific experiments (eg. AI, GA...), especially good for experiments in optimizing results by variations in algorithm or parameters.
Ruby
1
star
25

praxis-client-generator

Generates a client for accessing a Praxis API
CoffeeScript
1
star