terezka/elm-plot/5.0.1

NOTE: this package is not compatible with Elm 0.19.1

Elm Plot

Plot stuff in SVG with Elm! Go check it out here.

Overview

So, in the spirit of Elm which, with its many oppinions, aims to guide you towards elegant architecture, I'm made this oppinionated plotting library aiming to guide you towards more elegant and expressive plots! Of course, it's not just my own preferences I impose on you, but yet another straight (?) white guy called Edward Tufte, who wrote the book The Visual Display of Quantitative Information, and had a lot of great ideas of how to make plots more readable. However, if you find that these oppinions are keeping you from doing something incredible vital, then lets talk about it and see if it makes sense to allow it.

Graphical excellence is that which gives to the viewer the greatest number of ideas in the shortest time with the least ink in the smallest space. - Edward Tufte

What does the api look like?

Something like this:

    main =
      viewSeries
        [ area (List.map (\{ x, y } -> circle x y)) ]
        [ { x = 0, y = 1 }
        , { x = 2, y = 2 }
        , { x = 3, y = 3 }
        , { x = 4, y = 5 }
        , { x = 5, y = 8 }
        ]

You're welcome to take a look at the docs folder for more examples!

Missing something?

Let me know! Open an issue (or PR) or write in slack. Please don't hesitate, I'm happy to answer any questions or receive feedback!

Development

Setup

elm package install
elm-reactor

and open docs (The docs contain a bunch of examples convenient for developing).

Compile the Docs

elm-live docs/src/Docs.elm --output=docs/docs.js

Tests

Tests are written with elm-test. For further information on elm-test check the documentation. All required dependencies are downloaded and installed when initially running the command.

elm-test