Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Mind you, I have only looked superficially at Dygraphs -- looked at the examples, documentation and a bit of the source code.

My main issue is that Dygraphs is (as far as I can see) a monolithic chart renderer. Everything is built into a single renderer that takes a huge amount of options. It does not seem to be possible to add more axes, add custom extensions (like "rug" plots) or behaviours (like selections), because of its monolithic nature.

My favourite plotting system is R, which essentially divides the rendering into a large set of drawing operations that can be tweaked and combined in all sorts of ways. R is not a model I would want anyone to follow in a charting library (it's much too "free form" and does not have an underlying drawing model beyond vectors), but it's a model to follow in terms of extensiblity.

Some stuff I miss in Dygraphs:

- I want the user to be able to select a range of X axis using the mouse (Dygraphs uses this for zooming), and keep zooming separate.

- I want the user to be able to select a chart line/bar by clicking on it with the mouse.

- I want to be able to scroll the X axis programatically.

- I want to fetch remote data at varying resolutions matching the chart zoom level. From what I can see, this is not trivial with Dygraphs.

- Rug plots, histograms (bar charts) and error bar support.

- Stacked area plots.

In a well-architected chart system I would be able to add new graphical components (the Google Maps API is a good example) and override behaviour by adding event handlers that interacted with the chart API. I don't see how to do this with Dygraphs.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: