An interactive charting library using Dygraphs for the Ipython Notebook
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 2 commits ahead, 29 commits behind dinkelk:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

NOTE: This repository is out of date and unmaintained. The current pydygraphs project is maintained here.


Southwest Research Institute alt tag

An interactive charting library using Dygraphs for the Ipython Notebook, without the need for any remote hosting.


The Ipython Notebook is an excellent tool for interacting with python and displaying data in real time. While tools like matplotlib can generate static plots in the Ipython Notebook, interactive javascript plots are often more useful for exploring the data. This module can be readily included in an Ipython Notebook and then used to generate beautiful time series plots with Dygraphs.


Simple Example SinglePlot

Subplot with Range Selector RangeSelector

Pandas Dataframe Plot Dataframe

How It Works

This python module generates javascript that interacts with the Dygraphs library, and passes it to the Ipython Notebook kernel for execution.

Currently the PyDyGraphs module depends on Pandas to generate a JSON representation of the data for plotting. This required dependancy may be removed with future work. Pandas can be installed via pip.


Run the included example:examples/PyDyGraphTester.ipynb, or paste this code into an Ipython Notebook to generate an interactive timeseries plot:

# Import pydygraphs and numpy
import pydygraphs
import numpy as np

# Forma figure
fig = pydygraphs.figure(width = 600, height = 400)

# Generate data for the plot
x = np.array(range(100))
y = [np.sin(np.random.rand(100)),-np.sin(np.random.rand(100))]

# Plot the data on the figure
fig.plot(x,y, color=['navy','magenta'])
fig.title("Figure 1")

# Show the figure in this cell of the notebook


Simply clone this repository and include the module in your Ipython Notebooks.

Want to contribute:

Please submit a pull request!