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
- Get set up and running quickly.
- Defining Key Concepts
- Learn important foundational concepts about how Bokeh is organized.
- Plotting with Basic Glyphs
- Make different kinds of plots using the simple but flexible glyph methods from the bokeh.plotting interface.
- Providing Data for Plots and Tables
- Provide data or subsets of data for plots and tables and share data between plots.
- Laying out Plots and Widgets
- Combine multiple plots and widgets into specified layouts.
- Handling Categorical Data
- Handle categorical data with a variety of different techniques such as bar charts, categorical heatmaps, visual dodging, and jitter.
- Visualizing Network Graphs
- Create network graph visualizations with configurable node and edge interactions.
- Mapping Geo Data
- Working with geographical data—Google Maps, GeoJSON, Tile Rendering.
- Configuring Plot Tools
- Make interactive tools (like pan, zoom, select, and others) available on your plots.
- Styling Visual Attributes
- Customize every visual aspect of Bokeh plots—axes, grids, labels, glyphs, and more.
- Adding Annotations
- Add informational annotations, such as labels, arrows, and legends to plots.
- Adding Interactions
- Create more sophisticated interactions including widgets or linked panning and selection.
- Running a Bokeh Server
- Deploy the Bokeh Server to build and publish sophisticated data applications.
- Working in the Notebook
- Display interactive plots inside Jupyter notebooks.
- Exporting Plots
- Learn how to export Bokeh layouts as PNGs and SVGs.
- Embedding Plots and Apps
- Embed static or server-based Bokeh plots and widgets into HTML documents in a variety of ways.
- Using bokeh Commands
- Use Bokeh’s capabilites from the command line with the
bokeh
command. - Extending Bokeh
- Add new capability to Bokeh with custom user extensions.
- Leveraging Other Libraries
- Use Bokeh together with libraries such as Datashader and HoloViews.
- Speeding up with WebGL
- Improve performance for large datasets by using WebGL.
- Developing with JavaScript
- Create plots in JavaScript by using BokehJS directly.
- Learning More
- See where to go next for more information and examples.
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.