I am looking for a JavaScript library for drawing HTML5 charts. It should:

  • be open source
  • support animations and transitions (changing content with sliding)
  • be simple to use
  • support mixed types, i.e. bar chart with line chart
  • being themable is a must
  • Just charts, or a full report generation solution? Jan 28, 2015 at 10:25
  • Just charts but I'm no more looking for one not
    – Vinz243
    Jan 28, 2015 at 11:21
  • You might want to ask at the new Code Recommendations on Area51 - "Proposed Q&A site for programmers seeking the best library for specific tasks" area51.stackexchange.com/proposals/66606/code-recommendations Jan 29, 2015 at 10:40

3 Answers 3


Just surprised that no one has so far mentioned what is probably the most popular and powerful option: http://d3js.org/

Take a look at the plethora of examples to see what it is capable of. Powerful and easy to learn & use.



ZingChart meets your requirements, but it is not open source. However, we do offer a free, branded version if cost is the concern.

  • Animations - There are animation options available for effect, delay, method, sequence, and speed.
  • Simple to use- Setting up charts is similar to other charting libraries if you have that experience. ZingChart has a CSS-like syntax.
  • Support mixed charts- Mixed is set up by assigning "type":"mixed" and then placing the other chart types within the "series" object. Here is an example from the gallery
  • Themable - ZingChart offers many pre-built themes, as well as the option to apply a custom theme.

I'm on the ZingChart team, so if you have any questions about features or licensing feel free to reach out.


LightningChart JS meets these requirements, and it's free for personal use. It's not open-source though, but with WebGL GPU acceleration and extreme optimization, the performance is the best in the industry.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.