User Guide

This user guide is intended to walk you through many common tasks that you might want to accomplish using Bokeh. The guide is arranged by topic:

Quickstart
Read the Quickstart guide to Bokeh to get up and running fast.
Getting Set Up
Install Bokeh and verify your installation is working correctly.
Defining Key Concepts
Define and explain important preliminary concepts.
Plotting with Basic Glyphs
Use the simple but flexible glyph methods from the bokeh.plotting interface to construct basic and custom plots.
Leveraging Other Libraries
Use Bokeh together with libraries such as Datashader and HoloViews.
Adding Annotations
Add informational annotations, such as labels, arrows, and legends to plots.
Styling Visual Attributes
Customize every visual aspect of Bokeh plots—axes, grids, labels, glyphs, and more.
Configuring Plot Tools
Make interactive tools (like pan, zoom, select, and others) available on your plots.
Laying out Plots and Widgets
Combine multiple plots and widgets into specified layouts.
Working in the Notebook
Create and display interactive plots inside Jupyter/IPython notebooks.
Adding Interactions
Create more sophisticated interactions including widgets or linked panning and selection.
Using bokeh Commands
Quickly create and iterate on Bokeh applications with the bokeh command line tool.
Running a Bokeh Server
Deploy the Bokeh Server to build and publish sophisticated data applications.
Embedding Plots and Apps
Embed static or server-based Bokeh plots and widgets into HTML documents in a variety of ways.
Speeding up with WebGL
Improve performance for large datasets by using WebGL.
Mapping Geo Data
Working with geographical data - Google Maps, GeoJSON, Tile Rendering.
Developing with JavaScript
Create plots in JavaScript by using BokehJS directly.
Extending Bokeh
Adding new capability to Bokeh with custom user extensions.
Exporting Plots
Learn how to export Bokeh layouts as PNGs and SVGs.
Learning More
See where to go next for more information and examples.
Tutorials
Read tutorials on specific topics for using Bokeh.

The examples in the user guide are written to be as minimal as possible, while illustrating how to accomplish a single task within Bokeh. With a handful of exceptions, no outside libraries such as NumPy, Pandas, or Blaze are required to run the examples as written. However, Bokeh works well with NumPy, Pandas, Blaze, or almost any array or table-like data structure.