Description
Declarative visualization on a web browser with DSL approach.
Description
A library for visualization on a web browser. This works as a DSL that generates JavaScript source code working with D3.js (http:/d3js.org) library.
You can compose operations with a typed DSL with Haskell's abstraction power.
This is still an alpha version, and the structure may be changed in the near future.
A simplest example: drawing a bar chart
import Control.Monad
import qualified Data.Text as T
import D3JS
test :: Int -> IO ()
test n = T.writeFile "generated.js" $ reify (box "#div1" (300,300) >>= bars n 300 (Data1D [100,20,80,60,120]))
You can just put the JavaScript file in an HTML file like the following to show a chart.
<html>
<head>
<title>Chart</title>
</head>
<body>
<div id='div1'></div>
<script charset='utf-8' src='http://d3js.org/d3.v3.min.js'></script>
<script charset='utf-8' src='generated.js'></script>
</body>
</html>
See D3JS.Example
for more examples.