ANNOUNCE: barchart-0.1.1
barchart is a command-line program with associated Haskell library for generating bar charts, for example, from CSV files. It has special support for creating charts from data generated by the Haskell benchmarking tools criterion and progression. Instead of drawing bars of different benchmarks next to each other like progression does, barchart draws one bar for each benchmarked implementation where the benchmarks are represented as blocks of the same bar. As a consequence, one can recognise on first sight, which implementation is the fastest _in total_ because the hight of each bar is the sum of run times of all benchmarks for an implementation. Another difference to progression is that barchart is (only) a post processor and you usually do not import barchart modules into your Haskell code. Please refer to the project website for more information: http://sebfisch.github.com/haskell-barchart/ I would not have written this program without the Diagrams library by Brent Yorgey and the CmdArgs package by Neil Mitchell. Thank you for your excellent libraries! I hope barchart is useful for some of you! Sebastian -- Underestimating the novelty of the future is a time-honored tradition. (D.G.)
On Sun, Mar 07, 2010 at 18:10:31 +0100, Sebastian Fischer wrote:
barchart is a command-line program with associated Haskell library for generating bar charts, for example, from CSV files. It has special support for creating charts from data generated by the Haskell benchmarking tools criterion and progression.
Sounds like this could be really useful for darcs-benchmark! Meanwhile, I just thought I should point out a potentially complementary library called 'tabular'. Tabular lets you generate tables in various formats from a single representation. So you could spit out CSV values for barchart on the one hand and LaTeX on the other hand and somehow stitch the two into a nice little PDF. http://hackage.haskell.org/package/tabular Right now, the formats it knows about are an ASCII art format, HTML, CSV and LaTeX. For darcs-benchmark, we use a custom ReStructredText renderer. Maybe in the future, a Pandoc renderer would be useful. Now row/column spans, yet, unfortunately :-( -- Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow> PGP Key ID: 08AC04F9
Sounds like this could be really useful for darcs-benchmark!
I'm glad to hear that.
Meanwhile, I just thought I should point out a potentially complementary library called 'tabular'.
Thanks for the pointer, I'll try it out. Sebastian -- Underestimating the novelty of the future is a time-honored tradition. (D.G.)
On Mar 7, 2010, at 6:10 PM, Sebastian Fischer wrote:
barchart is a command-line program with associated Haskell library
The API is not generated on Hackage probably because the diagrams library cannot be built on GHC 6.12. I will upload Haddock documentation separately on the project website. However, I have some problems generating it. Even with --html-location='http://hackage.haskell.org/packages/archive/$pkg/latest/doc/html' 'cabal haddock' does not generate links to the required packages. It seems this option has no effect. What am I doing wrong? And is there a way to different html-locations for different packages? The API of the Diagrams library is not on Hackage so I'd like to give a special value for it. How can I generate an API for barchart with links to all dependencies? Cheers, Sebastian -- Underestimating the novelty of the future is a time-honored tradition. (D.G.)
Sorry to be That Guy, but: Your use of rounded borders for the boxes is skewing the correct perception of the data. The rounded borders remove more area from the smaller bars than the from the larger bars, so smaller bars will seem even smaller in comparison. In general, never ever try to make diagrams "pretty" without reading Tufte [1] front to back at least twice. Other than that, nice work! I especially like that you show the raw data next to the bars. [1]: http://www.edwardtufte.com/tufte/books_vdqi On 7 March 2010 17:10, Sebastian Fischer <sebf@informatik.uni-kiel.de> wrote:
barchart is a command-line program with associated Haskell library for generating bar charts, for example, from CSV files. It has special support for creating charts from data generated by the Haskell benchmarking tools criterion and progression.
Instead of drawing bars of different benchmarks next to each other like progression does, barchart draws one bar for each benchmarked implementation where the benchmarks are represented as blocks of the same bar. As a consequence, one can recognise on first sight, which implementation is the fastest _in total_ because the hight of each bar is the sum of run times of all benchmarks for an implementation. Another difference to progression is that barchart is (only) a post processor and you usually do not import barchart modules into your Haskell code.
Please refer to the project website for more information:
http://sebfisch.github.com/haskell-barchart/
I would not have written this program without the Diagrams library by Brent Yorgey and the CmdArgs package by Neil Mitchell. Thank you for your excellent libraries!
I hope barchart is useful for some of you!
Sebastian
-- Underestimating the novelty of the future is a time-honored tradition. (D.G.)
_______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
-- Push the envelope. Watch it bend.
On Mar 8, 2010, at 12:04 PM, Thomas Schilling wrote:
Your use of rounded borders for the boxes is skewing the correct perception of the data.
Fair point. I have created an issue in barchart's issue tracker. I'll probably make rounded corners optional and turn them off by default. Round corners have a small advantage: multiple blocks per bar which are all black cannot be distinguished without them because the line around blocks is also black. This could, however, easily be improved by making the line color configurable too. Probably best would be to have either "same color as block" or some configurable color, where the default is black. Thanks for the feedback! Sebastian -- Underestimating the novelty of the future is a time-honored tradition. (D.G.)
participants (3)
-
Eric Y. Kow -
Sebastian Fischer -
Thomas Schilling