dygraphs is a fast, flexible open source JavaScript charting library.

It allows users to explore and interpret dense data sets. Here's how it works:

This JavaScript…
new Dygraph(div, "ny-vs-sf.txt", {
  legend: 'always',
  title: 'NYC vs. SF',
  showRoller: true,
  rollPeriod: 14,
  customBars: true,
  ylabel: 'Temperature (F)',
…makes this chart!

The chart is interactive: you can mouse over to highlight individual values. You can click and drag to zoom. Double-clicking will zoom you back out. Shift-drag will pan. You can change the number and hit enter to adjust the averaging period.


  • Handles huge data sets: dygraphs plots millions of points without getting bogged down.
  • Interactive out of the box: zoom, pan and mouseover are on by default.
  • Strong support for error bars / confidence intervals.
  • Highly customizable: using options and custom callbacks, you can make dygraphs do almost anything.
  • dygraphs is highly compatible: it works in all major browsers (including IE8). You can even pinch to zoom on mobile/tablet devices!
  • There's an active community developing and supporting dygraphs.

Getting Started

Start by downloading dygraphs. Then read the Tutorial to learn how to use it, or just play with dygraphs on jsFiddle.

Once you've got your feet wet, look for inspiration in the demo gallery or check out our list of users.