Release of chart-svg-0.4 & prettychart-0.1

A new release of chart-svg has just arrived in hackage. Whilst mostly a plumbing release, it has enabled the release of prettychart.

Prettychart provides an easy way to view and create charts from ghci. For those of you who enjoy live coding and rapid analysis, it’s worth trying out. I hope you enjoy using it as much as I’ve enjoyed developing it.

14 Likes

Fantastic @tonyday567!

(May I suggest that you include the README in the sdist? Also it seems that it used to be called prettycharts, which doesn’t redirect to prettychart on GitHub :slight_smile:

3 Likes

Thank you so much, and thank the hackagistas for the ability to hot-fix the meta!

The README is a readme.org not a readme.md, so I’m not sure whether it will format properly. Couldn’t do the hot fix for extra-doc-files but will give it a try on the next minor bump.

2 Likes

Looks neat, thanks for putting this together! It’d be interesting to see some sort of comparison with other Haskell libraries in this space…

1 Like

I’m not sure how much charting goes on in the Haskell space. I imagine what data analytics there is happens via either IHP or IHaskell and visualization needs thus happen in javascript, or via bindings to non-Haskell platforms such as hvega and matplotlib. These are all large projects with lots of users and support.

Chart is the venerable charting library in pure Haskell, and is a front-end to diagrams. It is a full-featured and battle-hardened library, actively maintained and would be my first recommendation if you need to get a chart together.

Compared to Charts and diagrams, chart-svg focuses on producing SVG which makes the backend needs much simpler. It has a philosophy of “turtles all the way down” with a limited number of chart types, and the ability to see an axis (say) as also being just another chart. An error bar is just a type of line bar in chart-svg whereas it’s a specific plot in Chart, so if you need an error bar in chart-svg, you’ll have a bit more work to do. But if you need to thicken all the hud elements a touch and add a blue tinge, then chart-svg has your back, lol.

chart-svg’s automated scaling is probably the main talking point versus any other library or approach. It strives to provide automatic selection of ticks and seamless composition of chart elements so they’re always well-adjusted to each other and to the data. When it works well you won’t notice it happening, but when it breaks, you’ll quickly see a right, royal mess on the screen.

prettychart was inspired by reanimate and especially how it uses runhaskell as a bridge to the browser. There is also hyper-haskell which provides an interactive graphical experience via electron.

7 Likes