#+TITLE: chart-svg
[[https://hackage.haskell.org/package/chart-svg][file:https://img.shields.io/hackage/v/chart-svg.svg]] [[https://github.com/tonyday567/chart-svg/actions?query=workflow%3Ahaskell-ci][file:https://github.com/tonyday567/chart-svg/workflows/haskell-ci/badge.svg]]
[[file:other/banner.svg]]
A charting library targetting SVG.
* Usage
#+begin_src haskell :file other/usage.svg :results output graphics file :exports both
:set -XOverloadedLabels
:set -XOverloadedStrings
import Chart
import Optics.Core
lines = [[Point 0.0 1.0, Point 1.0 1.0, Point 2.0 5.0],[Point 0.0 0.0, Point 2.8 3.0],[Point 0.5 4.0, Point 0.5 0]]
styles = (\c -> defaultLineStyle & #color .~ palette1 c & #size .~ 0.015) <$> [0..2]
cs = zipWith (\s x -> LineChart s [x]) styles lines
lineExample = mempty & #charts .~ named "line" cs & #hudOptions .~ defaultHudOptions :: ChartOptions
writeChartOptions "other/usage.svg" lineExample
#+end_src
#+RESULTS:
[[file:other/usage.svg]]
See the haddock documentation for a detailed overview.
* Related projects
Downstream projects, where usage of chart-svg in various states of development can be found, include:
[[https://github.com/tonyday567/color-adjust][color-adjust]] - experimenting with the [[https://bottosson.github.io/posts/oklab/][oklab]] colour space. Some of this has been incorporated in to chart-svg.
[[https://github.com/tonyday567/dotparse][dotparse]] - a chart-svg <-> graphviz bridge
[[https://github.com/tonyday567/prettychart][prettychart]] - a chart-svg <-> ghci bridge
[[https://github.com/tonyday567/markup-parse][markup-parse]] - parse and prints markup (eg SVG)